From ce0323dd78eed966ca0e14aeed3973dc2d79cf4f Mon Sep 17 00:00:00 2001 From: oceanoverflow Date: Wed, 18 Sep 2024 05:35:05 +0000 Subject: [PATCH] fix parallel external sort do not call clean_up leading to memory leak issue --- src/storage/backup/ob_backup_index_merger.cpp | 1 + src/storage/ob_parallel_external_sort.h | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/storage/backup/ob_backup_index_merger.cpp b/src/storage/backup/ob_backup_index_merger.cpp index a9227fb00..f9b9fe1db 100644 --- a/src/storage/backup/ob_backup_index_merger.cpp +++ b/src/storage/backup/ob_backup_index_merger.cpp @@ -1739,6 +1739,7 @@ ObBackupUnorderdMacroBlockIndexMerger::ObBackupUnorderdMacroBlockIndexMerger() ObBackupUnorderdMacroBlockIndexMerger::~ObBackupUnorderdMacroBlockIndexMerger() { + external_sort_.clean_up(); } int ObBackupUnorderdMacroBlockIndexMerger::init( diff --git a/src/storage/ob_parallel_external_sort.h b/src/storage/ob_parallel_external_sort.h index 2fb45f01a..5d95f80e7 100644 --- a/src/storage/ob_parallel_external_sort.h +++ b/src/storage/ob_parallel_external_sort.h @@ -1759,6 +1759,10 @@ ObExternalSort::ObExternalSort(ObIAllocator &allocator) template ObExternalSort::~ObExternalSort() { + int ret = OB_SUCCESS; + if (is_inited_) { + STORAGE_LOG(ERROR, "Haven't called clean up before destruct", K(ret)); + } } template