From 2054cbdabf2fbd027788638fceae60039f280fba Mon Sep 17 00:00:00 2001 From: obdev Date: Wed, 17 May 2023 15:51:59 +0000 Subject: [PATCH] free old tablet set in the destroy function of the ls Co-authored-by: KyrielightWei --- src/storage/tx/ob_dup_table_tablets.cpp | 4 ++++ src/storage/tx/ob_dup_table_util.cpp | 1 + 2 files changed, 5 insertions(+) diff --git a/src/storage/tx/ob_dup_table_tablets.cpp b/src/storage/tx/ob_dup_table_tablets.cpp index 0ff4a62da..b5ba20e79 100644 --- a/src/storage/tx/ob_dup_table_tablets.cpp +++ b/src/storage/tx/ob_dup_table_tablets.cpp @@ -451,6 +451,10 @@ int ObLSDupTabletsMgr::destroy_free_tablet_pool_() if (OB_NOT_NULL(removing_old_set_)) { return_tablet_set(removing_old_set_); + if (free_set_pool_.add_last(removing_old_set_) == false) { + ret = OB_ERR_UNEXPECTED; + DUP_TABLE_LOG(ERROR, "insert into free set failed", K(ret), KPC(removing_old_set_)); + } removing_old_set_ = nullptr; } diff --git a/src/storage/tx/ob_dup_table_util.cpp b/src/storage/tx/ob_dup_table_util.cpp index 1141d5d59..6d7453a76 100644 --- a/src/storage/tx/ob_dup_table_util.cpp +++ b/src/storage/tx/ob_dup_table_util.cpp @@ -451,6 +451,7 @@ void ObDupTableLSHandler::reset() ob_free(tablets_mgr_ptr_); } if (OB_NOT_NULL(log_operator_)) { + log_operator_->reset(); share::mtl_free(log_operator_); }