From 95359cf63109fdf79dfecce7388d99b4369d8708 Mon Sep 17 00:00:00 2001 From: obdev Date: Wed, 15 Mar 2023 02:43:35 +0000 Subject: [PATCH] fix tablet_allocator double free --- src/observer/virtual_table/ob_all_virtual_table_mgr.cpp | 1 + .../virtual_table/ob_all_virtual_tablet_compaction_info.cpp | 1 + .../virtual_table/ob_all_virtual_tablet_sstable_macro_info.cpp | 1 + 3 files changed, 3 insertions(+) diff --git a/src/observer/virtual_table/ob_all_virtual_table_mgr.cpp b/src/observer/virtual_table/ob_all_virtual_table_mgr.cpp index c2e41997ad..de93261d91 100644 --- a/src/observer/virtual_table/ob_all_virtual_table_mgr.cpp +++ b/src/observer/virtual_table/ob_all_virtual_table_mgr.cpp @@ -110,6 +110,7 @@ int ObAllVirtualTableMgr::get_next_tablet() { int ret = OB_SUCCESS; + tablet_handle_.reset(); tablet_allocator_.reuse(); if (nullptr == tablet_iter_) { tablet_allocator_.set_tenant_id(MTL_ID()); diff --git a/src/observer/virtual_table/ob_all_virtual_tablet_compaction_info.cpp b/src/observer/virtual_table/ob_all_virtual_tablet_compaction_info.cpp index 82f75400d9..6e7107f718 100644 --- a/src/observer/virtual_table/ob_all_virtual_tablet_compaction_info.cpp +++ b/src/observer/virtual_table/ob_all_virtual_tablet_compaction_info.cpp @@ -108,6 +108,7 @@ int ObAllVirtualTabletCompactionInfo::get_next_tablet() { int ret = OB_SUCCESS; + tablet_handle_.reset(); tablet_allocator_.reuse(); if (nullptr == tablet_iter_) { tablet_allocator_.set_tenant_id(MTL_ID()); diff --git a/src/observer/virtual_table/ob_all_virtual_tablet_sstable_macro_info.cpp b/src/observer/virtual_table/ob_all_virtual_tablet_sstable_macro_info.cpp index 16b324a707..6eda8bf9d1 100644 --- a/src/observer/virtual_table/ob_all_virtual_tablet_sstable_macro_info.cpp +++ b/src/observer/virtual_table/ob_all_virtual_tablet_sstable_macro_info.cpp @@ -502,6 +502,7 @@ int ObAllVirtualTabletSSTableMacroInfo::process_curr_tenant(common::ObNewRow *&r int ObAllVirtualTabletSSTableMacroInfo::get_next_tablet() { int ret = OB_SUCCESS; + tablet_handle_.reset(); tablet_allocator_.reuse(); if (nullptr == tablet_iter_) { tablet_allocator_.set_tenant_id(MTL_ID()); -- GitLab