From 080ff1fd0b61b54e0a34d29650521f6c0a99b2e0 Mon Sep 17 00:00:00 2001 From: CalvinNeo Date: Thu, 25 Aug 2022 16:57:39 +0800 Subject: [PATCH 1/4] f Signed-off-by: CalvinNeo --- components/raftstore/src/store/fsm/apply.rs | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/components/raftstore/src/store/fsm/apply.rs b/components/raftstore/src/store/fsm/apply.rs index c3e65012a4d..61f02506097 100644 --- a/components/raftstore/src/store/fsm/apply.rs +++ b/components/raftstore/src/store/fsm/apply.rs @@ -1486,11 +1486,22 @@ where let flash_res = if let ApplyResult::WaitMergeSource(_) = &exec_result { EngineStoreApplyRes::None } else { - ctx.engine_store_server_helper.handle_admin_raft_cmd( - &request, - &response, - RaftCmdHeader::new(self.region.get_id(), ctx.exec_log_index, ctx.exec_log_term), - ) + if cmd_type == AdminCmdType::CompactLog && exec_result == ApplyResult::None { + debug!("skip compact log"; + "region_id" => self.region_id(), + "peer_id" => self.id(), + "term" => ctx.exec_log_term, + "index" => ctx.exec_log_index + ); + resp.set_admin_response(response); + return Ok((resp, exec_result, flash_res)); + } else { + ctx.engine_store_server_helper.handle_admin_raft_cmd( + &request, + &response, + RaftCmdHeader::new(self.region.get_id(), ctx.exec_log_index, ctx.exec_log_term), + ) + } }; match flash_res { From 235c1b51c4d28712ebdfefbab8aaf8dccf62bd40 Mon Sep 17 00:00:00 2001 From: CalvinNeo Date: Thu, 25 Aug 2022 17:05:30 +0800 Subject: [PATCH 2/4] f Signed-off-by: CalvinNeo --- components/raftstore/src/store/fsm/apply.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/raftstore/src/store/fsm/apply.rs b/components/raftstore/src/store/fsm/apply.rs index 61f02506097..9b02b3ecb27 100644 --- a/components/raftstore/src/store/fsm/apply.rs +++ b/components/raftstore/src/store/fsm/apply.rs @@ -1494,7 +1494,7 @@ where "index" => ctx.exec_log_index ); resp.set_admin_response(response); - return Ok((resp, exec_result, flash_res)); + return Ok((resp, exec_result, EngineStoreApplyRes::None)); } else { ctx.engine_store_server_helper.handle_admin_raft_cmd( &request, From 37d2c99b7087a007572322af43543a26a9abab43 Mon Sep 17 00:00:00 2001 From: CalvinNeo Date: Thu, 25 Aug 2022 18:12:26 +0800 Subject: [PATCH 3/4] f Signed-off-by: CalvinNeo --- components/raftstore/src/store/fsm/apply.rs | 32 ++++++++++++--------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/components/raftstore/src/store/fsm/apply.rs b/components/raftstore/src/store/fsm/apply.rs index 9b02b3ecb27..15f59d8ba27 100644 --- a/components/raftstore/src/store/fsm/apply.rs +++ b/components/raftstore/src/store/fsm/apply.rs @@ -1487,21 +1487,25 @@ where EngineStoreApplyRes::None } else { if cmd_type == AdminCmdType::CompactLog && exec_result == ApplyResult::None { - debug!("skip compact log"; - "region_id" => self.region_id(), - "peer_id" => self.id(), - "term" => ctx.exec_log_term, - "index" => ctx.exec_log_index - ); - resp.set_admin_response(response); - return Ok((resp, exec_result, EngineStoreApplyRes::None)); - } else { - ctx.engine_store_server_helper.handle_admin_raft_cmd( - &request, - &response, - RaftCmdHeader::new(self.region.get_id(), ctx.exec_log_index, ctx.exec_log_term), - ) + match &exec_result { + ApplyResult::None => { + debug!("skip compact log"; + "region_id" => self.region_id(), + "peer_id" => self.id(), + "term" => ctx.exec_log_term, + "index" => ctx.exec_log_index + ); + resp.set_admin_response(response); + return Ok((resp, exec_result, EngineStoreApplyRes::None)); + }, + _ => (), + }; } + ctx.engine_store_server_helper.handle_admin_raft_cmd( + &request, + &response, + RaftCmdHeader::new(self.region.get_id(), ctx.exec_log_index, ctx.exec_log_term), + ) }; match flash_res { From fd139caccc10dafc88c9125316b2430bb9760ba5 Mon Sep 17 00:00:00 2001 From: CalvinNeo Date: Thu, 25 Aug 2022 19:44:28 +0800 Subject: [PATCH 4/4] f Signed-off-by: CalvinNeo --- components/raftstore/src/store/fsm/apply.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/raftstore/src/store/fsm/apply.rs b/components/raftstore/src/store/fsm/apply.rs index 15f59d8ba27..21fee074400 100644 --- a/components/raftstore/src/store/fsm/apply.rs +++ b/components/raftstore/src/store/fsm/apply.rs @@ -1497,7 +1497,7 @@ where ); resp.set_admin_response(response); return Ok((resp, exec_result, EngineStoreApplyRes::None)); - }, + } _ => (), }; }