From 1667169949f2aacd9e36cb191fce3e492443568b Mon Sep 17 00:00:00 2001 From: fengweihao Date: Wed, 21 Aug 2024 17:18:18 +0800 Subject: bugfix:When the thread’s ring buffer is full, an abnormal RPC timeout is set. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/swarmkv.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/swarmkv.c b/src/swarmkv.c index 34f3ae8..517ab73 100644 --- a/src/swarmkv.c +++ b/src/swarmkv.c @@ -159,7 +159,10 @@ static void exec_at_thread(struct swarmkv *db, const struct swarmkv_cmd *cmd, in swarmkv_rpc_complete(db->rpc_mgr, cur_tid, sequence, reply); swarmkv_reply_free(reply); } - swarmkv_rpc_set_timeout(rpc, db->opts->cluster_timeout_us + INTER_THREAD_RPC_TIMEOUT_AHEAD); + else + { + swarmkv_rpc_set_timeout(rpc, db->opts->cluster_timeout_us + INTER_THREAD_RPC_TIMEOUT_AHEAD); + } } static int spec_gettid(const struct swarmkv_cmd_spec *spec, const struct swarmkv_cmd *cmd, int nr_worker_threads) { @@ -400,7 +403,7 @@ void exec_cmd(struct swarmkv *db, const struct swarmkv_cmd *cmd, struct future * struct swarmkv_reply *reply = NULL; struct promise *p = NULL; int cur_tid = swarmkv_gettid(db); - + spec = swarmkv_command_table_get_spec_by_argv(db->mod_command_table, cmd->argc, cmd->argv); if (!spec) { -- cgit v1.2.3