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 b921e9abef..de5360188a 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 1aa30b4ac0..697e16df3a 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; }