From 5a1bdeab8f1b60de4aaee03c3729116862873314 Mon Sep 17 00:00:00 2001 From: yangqise7en <877793735@qq.com> Date: Tue, 3 Sep 2024 09:52:05 +0000 Subject: [PATCH] remove log & fix policy func array whitescan & fix unittest --- .../test_multi_version_sstable_merge.cpp | 241 ++++++++++-------- .../scheduler/ob_tenant_dag_scheduler.cpp | 7 +- src/share/scheduler/ob_tenant_dag_scheduler.h | 2 + .../compaction/ob_basic_tablet_merge_ctx.cpp | 1 + .../compaction/ob_medium_compaction_func.cpp | 1 + .../compaction/ob_partition_merge_policy.cpp | 5 +- .../test_dag_net_in_dag_scheduler.cpp | 5 +- 7 files changed, 149 insertions(+), 113 deletions(-) diff --git a/mittest/mtlenv/storage/test_multi_version_sstable_merge.cpp b/mittest/mtlenv/storage/test_multi_version_sstable_merge.cpp index f68dd92f5..0e45c8384 100644 --- a/mittest/mtlenv/storage/test_multi_version_sstable_merge.cpp +++ b/mittest/mtlenv/storage/test_multi_version_sstable_merge.cpp @@ -124,7 +124,7 @@ public: ObTabletMergeCtx &ctx, ObSSTable *&merged_sstable); void fake_freeze_info(); - + void get_tx_table_guard(ObTxTableGuard &tx_table_guard); public: ObStoreCtx store_ctx_; ObTabletMergeExecuteDag merge_dag_; @@ -254,6 +254,16 @@ void TestMultiVersionMerge::build_sstable( ASSERT_EQ(OB_SUCCESS, ctx.merged_table_handle_.get_sstable(merged_sstable)); } +void TestMultiVersionMerge::get_tx_table_guard(ObTxTableGuard &tx_table_guard) +{ + ObLSID ls_id(ls_id_); + ObTabletID tablet_id(tablet_id_); + ObLSHandle ls_handle; + ObLSService *ls_svr = MTL(ObLSService*); + ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); + ASSERT_EQ(OB_SUCCESS, ls_handle.get_ls()->get_tx_table_guard(tx_table_guard)); +} + TEST_F(TestMultiVersionMerge, rowkey_cross_two_macro_and_second_macro_is_filtered) { int ret = OB_SUCCESS; @@ -513,15 +523,9 @@ TEST_F(TestMultiVersionMerge, uncommit_rowkey_committed_in_minor) merge_context.static_param_.tables_handle_.add_table(handle2); STORAGE_LOG(INFO, "finish prepare sstable2"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i <= 1; i++) { @@ -728,15 +732,9 @@ TEST_F(TestMultiVersionMerge, uncommit_rowkey_in_one_macro_committed_following_l merge_context.static_param_.tables_handle_.add_table(handle2); STORAGE_LOG(INFO, "finish prepare sstable2"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i <= 1; i++) { @@ -852,16 +850,9 @@ TEST_F(TestMultiVersionMerge, uncommit_rowkey_in_one_macro_committed_following_s merge_context.static_param_.tables_handle_.add_table(handle2); STORAGE_LOG(INFO, "finish prepare sstable2"); - - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i <= 1; i++) { @@ -1107,15 +1098,9 @@ TEST_F(TestMultiVersionMerge, test_merge_with_multi_trans) merge_context.static_param_.tables_handle_.add_table(handle3); STORAGE_LOG(INFO, "finish prepare sstable3"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i <= 4; i++) { @@ -1272,15 +1257,9 @@ TEST_F(TestMultiVersionMerge, test_merge_with_multi_trans_can_compact) merge_context.static_param_.tables_handle_.add_table(handle2); STORAGE_LOG(INFO, "finish prepare sstable2"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i <= 5; i++) { @@ -1437,15 +1416,9 @@ TEST_F(TestMultiVersionMerge, test_merge_with_multi_trans_can_not_compact) merge_context.static_param_.tables_handle_.add_table(handle3); STORAGE_LOG(INFO, "finish prepare sstable3"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i <= 5; i++) { @@ -1682,15 +1655,9 @@ TEST_F(TestMultiVersionMerge, test_merge_with_macro_reused_without_shadow) merge_context.static_param_.tables_handle_.add_table(handle2); STORAGE_LOG(INFO, "finish prepare sstable2"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i <= 4; i++) { @@ -1892,15 +1859,9 @@ TEST_F(TestMultiVersionMerge, test_merge_with_greater_multi_version_and_uncommit trans_version_range.multi_version_start_ = 50; trans_version_range.base_version_ = 1; - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i <= 4; i++) { @@ -2016,15 +1977,9 @@ TEST_F(TestMultiVersionMerge, test_merge_with_ghost_row) merge_context.static_param_.tables_handle_.add_table(handle3); STORAGE_LOG(INFO, "finish prepare sstable3"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i <= 4; i++) { @@ -2419,15 +2374,9 @@ TEST_F(TestMultiVersionMerge, rowkey_cross_macro_with_last_shadow_version_less_t merge_context.static_param_.tables_handle_.add_table(handle2); STORAGE_LOG(INFO, "finish prepare sstable2"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i < 3; i++) { @@ -2645,15 +2594,9 @@ TEST_F(TestMultiVersionMerge, rowkey_cross_macro_without_open_next_macro) merge_context.static_param_.tables_handle_.add_table(handle2); STORAGE_LOG(INFO, "finish prepare sstable2"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i < 3; i++) { @@ -2889,15 +2832,9 @@ TEST_F(TestMultiVersionMerge, test_merge_base_iter_have_ghost_row) merge_context.static_param_.tables_handle_.add_table(handle3); STORAGE_LOG(INFO, "finish prepare sstable3"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i <= 4; i++) { @@ -3117,15 +3054,9 @@ TEST_F(TestMultiVersionMerge, test_trans_cross_macro_with_ghost_row) merge_context.static_param_.tables_handle_.add_table(handle2); STORAGE_LOG(INFO, "finish prepare sstable2"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i < 3; i++) { @@ -3239,15 +3170,9 @@ TEST_F(TestMultiVersionMerge, test_trans_cross_macro_with_ghost_row2) merge_context.static_param_.tables_handle_.add_table(handle2); STORAGE_LOG(INFO, "finish prepare sstable2"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); for (int64_t i = 1; i < 3; i++) { @@ -3355,15 +3280,9 @@ TEST_F(TestMultiVersionMerge, test_running_trans_cross_macro_with_abort_sql_seq) merge_context.static_param_.tables_handle_.add_table(handle2); STORAGE_LOG(INFO, "finish prepare sstable2"); - ObLSID ls_id(ls_id_); - ObTabletID tablet_id(tablet_id_); - ObLSHandle ls_handle; - ObLSService *ls_svr = MTL(ObLSService*); - ASSERT_EQ(OB_SUCCESS, ls_svr->get_ls(ls_id, ls_handle, ObLSGetMod::STORAGE_MOD)); - ObTxTable *tx_table = nullptr; ObTxTableGuard tx_table_guard; - ls_handle.get_ls()->get_tx_table_guard(tx_table_guard); + get_tx_table_guard(tx_table_guard); ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); ObTxData *tx_data = new ObTxData(); @@ -3379,6 +3298,7 @@ TEST_F(TestMultiVersionMerge, test_running_trans_cross_macro_with_abort_sql_seq) transaction::ObUndoAction undo_action(ObTxSEQ(9, 0), ObTxSEQ(1, 0)); tx_data->add_undo_action(tx_table, undo_action); ASSERT_EQ(OB_SUCCESS, tx_table->insert(tx_data)); + tx_data->~ObTxData(); delete tx_data; ObVersionRange trans_version_range; @@ -3422,6 +3342,113 @@ TEST_F(TestMultiVersionMerge, test_running_trans_cross_macro_with_abort_sql_seq) merger.reset(); } +TEST_F(TestMultiVersionMerge, check_shadow_row_fuse) +{ + int ret = OB_SUCCESS; + ObTabletMergeDagParam param; + ObTabletMergeCtx merge_context(param, allocator_); + ObPartitionMinorMerger merger(local_arena_, merge_context.static_param_); + + ObTableHandleV2 handle1; + const char *micro_data[2]; + micro_data[0] = + "bigint var bigint bigint bigint bigint dml flag multi_version_row_flag trans_id\n" + "0 var1 -8 0 NOP 1 T_DML_UPDATE EXIST LF trans_id_0\n"; + + micro_data[1] = + "bigint var bigint bigint bigint bigint dml flag multi_version_row_flag trans_id\n" + "2 var1 MIN -9 2 2 T_DML_INSERT EXIST U trans_id_1\n" + "2 var1 -6 0 3 2 T_DML_UPDATE EXIST N trans_id_0\n" + "2 var1 MAGIC MAGIC NOP NOP T_DML_INSERT EXIST LG trans_id_0\n"; + + int schema_rowkey_cnt = 2; + + int64_t snapshot_version = 10; + ObScnRange scn_range; + scn_range.start_scn_.set_min(); + scn_range.end_scn_.convert_for_tx(10); + prepare_table_schema(micro_data, schema_rowkey_cnt, scn_range, snapshot_version); + reset_writer(snapshot_version); + prepare_one_macro(micro_data, 1); + prepare_one_macro(µ_data[1], 1); + prepare_data_end(handle1); + merge_context.static_param_.tables_handle_.add_table(handle1); + STORAGE_LOG(INFO, "finish prepare sstable1"); + + ObTableHandleV2 handle2; + const char *micro_data2[1]; + micro_data2[0] = + "bigint var bigint bigint bigint bigint dml flag multi_version_row_flag\n" + "2 var1 -10 0 NOP 12 T_DML_UPDATE EXIST LF\n"; + + snapshot_version = 20; + scn_range.start_scn_.convert_for_tx(10); + scn_range.end_scn_.convert_for_tx(20); + table_key_.scn_range_ = scn_range; + reset_writer(snapshot_version); + prepare_one_macro(micro_data2, 1); + prepare_data_end(handle2); + merge_context.static_param_.tables_handle_.add_table(handle2); + STORAGE_LOG(INFO, "finish prepare sstable2"); + + ObTxTable *tx_table = nullptr; + ObTxTableGuard tx_table_guard; + get_tx_table_guard(tx_table_guard); + ASSERT_NE(nullptr, tx_table = tx_table_guard.get_tx_table()); + + ObTxData *tx_data = new ObTxData(); + ASSERT_EQ(OB_SUCCESS, tx_data->init_tx_op()); + transaction::ObTransID tx_id = 1; + + // fill in data + tx_data->tx_id_ = tx_id; + tx_data->commit_version_.convert_for_tx(INT64_MAX); + tx_data->start_scn_.convert_for_tx(1); + tx_data->end_scn_.convert_for_tx(50); + tx_data->state_ = ObTxData::ABORT; + ASSERT_EQ(OB_SUCCESS, tx_table->insert(tx_data)); + tx_data->~ObTxData(); + delete tx_data; + + ObVersionRange trans_version_range; + trans_version_range.snapshot_version_ = 100; + trans_version_range.multi_version_start_ = 7; + trans_version_range.base_version_ = 1; + + prepare_merge_context(MINOR_MERGE, false, trans_version_range, merge_context); + // minor mrege + ObSSTable *merged_sstable = nullptr; + ASSERT_EQ(OB_SUCCESS, merger.merge_partition(merge_context, 0)); + build_sstable(merge_context, merged_sstable); + + const char *result1 = + "bigint var bigint bigint bigint bigint flag multi_version_row_flag\n" + "0 var1 -8 0 NOP 1 EXIST LF\n" + "2 var1 -10 MIN 3 12 EXIST SCF\n" + "2 var1 -10 0 NOP 12 EXIST N\n" + "2 var1 -6 0 3 2 EXIST CL\n"; + + ObMockIterator res_iter; + ObStoreRowIterator *scanner = NULL; + ObDatumRange range; + res_iter.reset(); + range.set_whole_range(); + trans_version_range.base_version_ = 1; + trans_version_range.multi_version_start_ = 1; + trans_version_range.snapshot_version_ = INT64_MAX; + prepare_query_param(trans_version_range); + ASSERT_EQ(OB_SUCCESS, merged_sstable->scan(iter_param_, context_, range, scanner)); + ASSERT_EQ(OB_SUCCESS, res_iter.from(result1)); + ObMockDirectReadIterator sstable_iter; + ASSERT_EQ(OB_SUCCESS, sstable_iter.init(scanner, allocator_, full_read_info_)); + bool is_equal = res_iter.equals(sstable_iter, true/*cmp multi version row flag*/); + ASSERT_EQ(OB_SUCCESS, clear_tx_data()); + scanner->~ObStoreRowIterator(); + handle1.reset(); + handle2.reset(); + merger.reset(); +} + } } diff --git a/src/share/scheduler/ob_tenant_dag_scheduler.cpp b/src/share/scheduler/ob_tenant_dag_scheduler.cpp index dbc46566a..ca0b728b3 100644 --- a/src/share/scheduler/ob_tenant_dag_scheduler.cpp +++ b/src/share/scheduler/ob_tenant_dag_scheduler.cpp @@ -1846,7 +1846,8 @@ void ObDagPrioScheduler::destroy() ObIDag *next = NULL; while (NULL != cur_dag && head != cur_dag) { next = cur_dag->get_next(); - if (OB_TMP_FAIL(ObSysTaskStatMgr::get_instance().del_task(cur_dag->get_dag_id()))) { + if (cur_dag->get_dag_id().is_valid() + && OB_TMP_FAIL(ObSysTaskStatMgr::get_instance().del_task(cur_dag->get_dag_id()))) { if (OB_ENTRY_NOT_EXIST != tmp_ret) { STORAGE_LOG_RET(WARN, tmp_ret, "failed to del sys task", K(cur_dag->get_dag_id())); } @@ -4561,7 +4562,9 @@ int ObTenantDagScheduler::diagnose_dag_net( ret = OB_INVALID_ARGUMENT; COMMON_LOG(WARN, "invalid arugment", KP(dag_net)); } else if (OB_FAIL(dag_net_sche_.diagnose_dag_net(*dag_net, progress_list, dag_net_id, start_time))) { - COMMON_LOG(WARN, "fail to diagnose dag net", K(ret), KPC(dag_net)); + if (OB_HASH_NOT_EXIST != ret) { + COMMON_LOG(WARN, "fail to diagnose dag net", K(ret), KPC(dag_net)); + } } return ret; } diff --git a/src/share/scheduler/ob_tenant_dag_scheduler.h b/src/share/scheduler/ob_tenant_dag_scheduler.h index aa1f32b93..29de8ae09 100644 --- a/src/share/scheduler/ob_tenant_dag_scheduler.h +++ b/src/share/scheduler/ob_tenant_dag_scheduler.h @@ -1273,6 +1273,8 @@ int ObIDag::alloc_task(T *&task) if (!task_list_.add_last(ntask)) { ret = common::OB_ERR_UNEXPECTED; COMMON_LOG(WARN, "Failed to add task", K(task), K_(id)); + ntask->~T(); + allocator_->free(ntask); } } if (OB_SUCC(ret)) { diff --git a/src/storage/compaction/ob_basic_tablet_merge_ctx.cpp b/src/storage/compaction/ob_basic_tablet_merge_ctx.cpp index 1a27c2d61..03fea9293 100644 --- a/src/storage/compaction/ob_basic_tablet_merge_ctx.cpp +++ b/src/storage/compaction/ob_basic_tablet_merge_ctx.cpp @@ -730,6 +730,7 @@ void ObBasicTabletMergeCtx::add_sstable_merge_info( if (OB_NOT_NULL(snapshot_info) && snapshot_info->is_valid()) { static_info.kept_snapshot_info_ = *snapshot_info; } + #define ADD_COMMENT(...) \ ADD_COMPACTION_INFO_PARAM(running_info.comment_, sizeof(running_info.comment_), __VA_ARGS__) if (get_is_full_merge()) { diff --git a/src/storage/compaction/ob_medium_compaction_func.cpp b/src/storage/compaction/ob_medium_compaction_func.cpp index ec024031b..c2243e068 100644 --- a/src/storage/compaction/ob_medium_compaction_func.cpp +++ b/src/storage/compaction/ob_medium_compaction_func.cpp @@ -1376,6 +1376,7 @@ int ObMediumCompactionScheduleFunc::check_replica_checksum_items( end_idx++; } if (OB_FAIL(check_tablet_checksum(checksum_items, ls_cs_replica_cache, start_idx, end_idx, true /*is_medium_checker*/, error_pairs, check_ret))) { + LOG_WARN("failed to check tablet checksum", KR(ret), K(checksum_items), K(ls_cs_replica_cache), K(start_idx), K(end_idx), K(error_pairs)); } else { // update medium compaction info if (is_medium_checker && OB_SUCCESS == check_ret) { diff --git a/src/storage/compaction/ob_partition_merge_policy.cpp b/src/storage/compaction/ob_partition_merge_policy.cpp index 4dd4b8f88..13cd152b0 100644 --- a/src/storage/compaction/ob_partition_merge_policy.cpp +++ b/src/storage/compaction/ob_partition_merge_policy.cpp @@ -65,7 +65,8 @@ ObPartitionMergePolicy::GetMergeTables ObPartitionMergePolicy::get_merge_tables[ ObPartitionMergePolicy::not_support_merge_type, ObPartitionMergePolicy::get_mds_merge_tables, ObPartitionMergePolicy::not_support_merge_type, - ObPartitionMergePolicy::get_convert_co_major_merge_tables + ObPartitionMergePolicy::get_convert_co_major_merge_tables, + ObPartitionMergePolicy::not_support_merge_type, }; int ObPartitionMergePolicy::get_medium_merge_tables( @@ -535,7 +536,7 @@ int ObPartitionMergePolicy::get_boundary_snapshot_version( const bool check_table_cnt, const bool is_multi_version_merge) { - STATIC_ASSERT(static_cast(MERGE_TYPE_MAX) == ARRAYSIZEOF(get_merge_tables), "get merge table func cnt is mismatch"); + STATIC_ASSERT(static_cast(MERGE_TYPE_MAX + 1) == ARRAYSIZEOF(get_merge_tables), "get merge table func cnt is mismatch"); int ret = OB_SUCCESS; const int64_t tablet_table_cnt = tablet.get_major_table_count() + tablet.get_minor_table_count(); diff --git a/unittest/share/scheduler/test_dag_net_in_dag_scheduler.cpp b/unittest/share/scheduler/test_dag_net_in_dag_scheduler.cpp index e8fd66ab2..f7db80a72 100644 --- a/unittest/share/scheduler/test_dag_net_in_dag_scheduler.cpp +++ b/unittest/share/scheduler/test_dag_net_in_dag_scheduler.cpp @@ -1705,7 +1705,8 @@ TEST_F(TestDagScheduler, test_destroy_when_running) //TODO(renju.rj): fix it // } // #endif } - +/* +do not add compaction dag in unittest, some module is not inited like LSService TEST_F(TestDagScheduler, test_add_multi_co_merge_dag_net) { int ret = OB_SUCCESS; @@ -1758,7 +1759,7 @@ TEST_F(TestDagScheduler, test_add_multi_co_merge_dag_net) COMMON_LOG(INFO, "Success to create and add co medium dag net", K(ret)); } } - +*/ } }