From a85a30bc6c8d9ec7e3094bb1baa3e5ddd7f6d308 Mon Sep 17 00:00:00 2001 From: suz-yang Date: Tue, 2 Jan 2024 11:22:19 +0000 Subject: [PATCH] Fix direct load reset mem_ctx --- src/observer/table_load/ob_table_load_mem_compactor.cpp | 9 ++++++--- .../ob_table_load_multiple_heap_table_compactor.cpp | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/observer/table_load/ob_table_load_mem_compactor.cpp b/src/observer/table_load/ob_table_load_mem_compactor.cpp index b921e9abe..de5360188 100644 --- a/src/observer/table_load/ob_table_load_mem_compactor.cpp +++ b/src/observer/table_load/ob_table_load_mem_compactor.cpp @@ -575,9 +575,6 @@ int ObTableLoadMemCompactor::finish() LOG_WARN("fail to start parallel merge", KR(ret)); } } - if (OB_SUCC(ret)) { - mem_ctx_.reset(); // mem_ctx的tables已经copy,需要提前释放 - } return ret; } @@ -608,6 +605,9 @@ int ObTableLoadMemCompactor::build_result_for_heap_table() } } } + if (OB_SUCC(ret)) { + mem_ctx_.reset(); + } return ret; } @@ -625,6 +625,9 @@ int ObTableLoadMemCompactor::add_table_to_parallel_merge_ctx() LOG_WARN("fail to add tablet sstable", KR(ret)); } } + if (OB_SUCC(ret)) { + mem_ctx_.reset(); // mem_ctx的tables已经copy,需要提前释放 + } return ret; } diff --git a/src/observer/table_load/ob_table_load_multiple_heap_table_compactor.cpp b/src/observer/table_load/ob_table_load_multiple_heap_table_compactor.cpp index 1aa30b4ac..697e16df3 100644 --- a/src/observer/table_load/ob_table_load_multiple_heap_table_compactor.cpp +++ b/src/observer/table_load/ob_table_load_multiple_heap_table_compactor.cpp @@ -496,9 +496,6 @@ int ObTableLoadMultipleHeapTableCompactor::finish() } else if (OB_FAIL(compact_ctx_->handle_table_compact_success())) { LOG_WARN("fail to handle_table_compact_success", KR(ret)); } - if (OB_SUCC(ret)) { - mem_ctx_.reset(); // mem_ctx的tables已经copy,需要提前释放 - } return ret; } @@ -529,6 +526,9 @@ int ObTableLoadMultipleHeapTableCompactor::build_result_for_heap_table() } } } + if (OB_SUCC(ret)) { + mem_ctx_.reset(); // mem_ctx的tables已经copy,需要提前释放 + } return ret; }