From b93b8cfb88baf67d23cff6bbba7101b90be703b1 Mon Sep 17 00:00:00 2001 From: Yixuan Wang Date: Wed, 29 Jul 2026 12:06:09 +0800 Subject: [PATCH] [chore](recycler) Disable `enable_mark_delete_rowset_before_recycle` and `enable_abort_txn_and_job_for_delete_rowset_before_recycle` for recycler (#66150) --- cloud/src/common/config.h | 4 ++-- cloud/test/meta_service_job_test.cpp | 30 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/cloud/src/common/config.h b/cloud/src/common/config.h index 92dfa9985b692f..7172777144a316 100644 --- a/cloud/src/common/config.h +++ b/cloud/src/common/config.h @@ -279,8 +279,8 @@ CONF_mBool(enable_load_txn_status_check, "true"); CONF_mBool(enable_tablet_job_check, "true"); CONF_mBool(enable_recycle_delete_rowset_key_check, "true"); -CONF_mBool(enable_mark_delete_rowset_before_recycle, "true"); -CONF_mBool(enable_abort_txn_and_job_for_delete_rowset_before_recycle, "true"); +CONF_mBool(enable_mark_delete_rowset_before_recycle, "false"); +CONF_mBool(enable_abort_txn_and_job_for_delete_rowset_before_recycle, "false"); // Declare a selection strategy for those servers have many ips. // Note that there should at most one ip match this list. diff --git a/cloud/test/meta_service_job_test.cpp b/cloud/test/meta_service_job_test.cpp index a84d33d9208d7b..0fbff7ab346e75 100644 --- a/cloud/test/meta_service_job_test.cpp +++ b/cloud/test/meta_service_job_test.cpp @@ -95,6 +95,27 @@ static void create_and_refresh_instance(MetaServiceProxy* service, std::string i namespace { const std::string instance_id = "MetaServiceJobTest"; +struct DeleteRowsetRecycleConfigGuard { + DeleteRowsetRecycleConfigGuard() + : original_enable_mark_delete_rowset_before_recycle( + config::enable_mark_delete_rowset_before_recycle), + original_enable_abort_txn_and_job_for_delete_rowset_before_recycle( + config::enable_abort_txn_and_job_for_delete_rowset_before_recycle) { + config::enable_mark_delete_rowset_before_recycle = true; + config::enable_abort_txn_and_job_for_delete_rowset_before_recycle = true; + } + + ~DeleteRowsetRecycleConfigGuard() { + config::enable_mark_delete_rowset_before_recycle = + original_enable_mark_delete_rowset_before_recycle; + config::enable_abort_txn_and_job_for_delete_rowset_before_recycle = + original_enable_abort_txn_and_job_for_delete_rowset_before_recycle; + } + + bool original_enable_mark_delete_rowset_before_recycle; + bool original_enable_abort_txn_and_job_for_delete_rowset_before_recycle; +}; + void start_compaction_job(MetaService* meta_service, int64_t tablet_id, const std::string& job_id, const std::string& initiator, int base_compaction_cnt, int cumu_compaction_cnt, TabletCompactionJobPB::CompactionType type, @@ -5683,6 +5704,7 @@ TEST(MetaServiceJobTest, ResetStreamingJobOffsetTest) { // Test: Complete flow - begin_txn -> prepare_rowset -> recycle x 2 -> abort -> verify commit fails TEST(MetaServiceJobTest, AbortTxnForRelatedRowsetTest1) { + DeleteRowsetRecycleConfigGuard config_guard; auto meta_service = get_meta_service(); auto* sp = SyncPoint::get_instance(); DORIS_CLOUD_DEFER { @@ -5812,6 +5834,7 @@ TEST(MetaServiceJobTest, AbortTxnForRelatedRowsetTest1) { // Test: Complete flow - start job -> prepare_rowset -> recycle x 2 -> abort job -> verify TEST(MetaServiceJobTest, AbortJobForRelatedRowsetTest1) { + DeleteRowsetRecycleConfigGuard config_guard; auto meta_service = get_meta_service(); auto* sp = SyncPoint::get_instance(); DORIS_CLOUD_DEFER { @@ -5939,6 +5962,7 @@ TEST(MetaServiceJobTest, AbortJobForRelatedRowsetTest1) { // Test: Complete flow - begin_txn -> prepare_rowset -> commit_rowset -> recycle x 2 -> abort -> verify commit fails TEST(MetaServiceJobTest, AbortTxnForRelatedRowsetTest2) { + DeleteRowsetRecycleConfigGuard config_guard; auto meta_service = get_meta_service(); auto* sp = SyncPoint::get_instance(); DORIS_CLOUD_DEFER { @@ -6064,6 +6088,7 @@ TEST(MetaServiceJobTest, AbortTxnForRelatedRowsetTest2) { // Test: Complete flow - start compaction job -> prepare_rowset -> commit_rowset -> recycle x 2 -> abort job -> verify TEST(MetaServiceJobTest, AbortCompactionJobForRelatedRowsetTest2) { + DeleteRowsetRecycleConfigGuard config_guard; auto meta_service = get_meta_service(); auto* sp = SyncPoint::get_instance(); DORIS_CLOUD_DEFER { @@ -6200,6 +6225,7 @@ TEST(MetaServiceJobTest, AbortCompactionJobForRelatedRowsetTest2) { // Test: Complete flow - start schema change job -> prepare_rowset -> commit_rowset -> recycle x 2 -> abort job -> verify TEST(MetaServiceJobTest, AbortSchemaChangeJobForRelatedRowsetTest2) { + DeleteRowsetRecycleConfigGuard config_guard; auto meta_service = get_meta_service(); auto* sp = SyncPoint::get_instance(); DORIS_CLOUD_DEFER { @@ -6385,6 +6411,7 @@ TEST(MetaServiceJobTest, AbortSchemaChangeJobForRelatedRowsetTest2) { // Test: Complete flow - begin_txn -> prepare_rowset -> recycle x 1 -> commit_rowset -> commit_txn -> verify commit fails TEST(MetaServiceJobTest, AbortTxnForRelatedRowsetTest3) { + DeleteRowsetRecycleConfigGuard config_guard; auto meta_service = get_meta_service(); auto* sp = SyncPoint::get_instance(); DORIS_CLOUD_DEFER { @@ -6495,6 +6522,7 @@ TEST(MetaServiceJobTest, AbortTxnForRelatedRowsetTest3) { // Test: Complete flow - start job -> prepare_rowset -> recycle x 1 -> commit_rowset -> finish job -> verify TEST(MetaServiceJobTest, AbortJobForRelatedRowsetTest3) { + DeleteRowsetRecycleConfigGuard config_guard; auto meta_service = get_meta_service(); auto* sp = SyncPoint::get_instance(); DORIS_CLOUD_DEFER { @@ -6619,6 +6647,7 @@ TEST(MetaServiceJobTest, AbortJobForRelatedRowsetTest3) { // Test: Complete flow - begin_txn -> prepare_rowset -> commit_rowset -> recycle x 1 -> commit_txn -> verify commit fails TEST(MetaServiceJobTest, AbortTxnForRelatedRowsetTest4) { + DeleteRowsetRecycleConfigGuard config_guard; auto meta_service = get_meta_service(); auto* sp = SyncPoint::get_instance(); DORIS_CLOUD_DEFER { @@ -6742,6 +6771,7 @@ TEST(MetaServiceJobTest, AbortTxnForRelatedRowsetTest4) { // Test: Complete flow - start job -> prepare_rowset -> commit_rowset -> recycle x 1 -> finish job -> verify TEST(MetaServiceJobTest, AbortJobForRelatedRowsetTest4) { + DeleteRowsetRecycleConfigGuard config_guard; auto meta_service = get_meta_service(); auto* sp = SyncPoint::get_instance(); DORIS_CLOUD_DEFER {