From be8443dff37abfd4088a0bc9b4dad2ec66496ae7 Mon Sep 17 00:00:00 2001 From: zhannngchen Date: Thu, 3 Jul 2025 19:42:44 +0800 Subject: [PATCH 1/2] [fix](mow) fix potential mem leak for DeleteBitmap::get_agg (#52718) --- be/src/olap/tablet_meta.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/be/src/olap/tablet_meta.cpp b/be/src/olap/tablet_meta.cpp index ab225d1fcdbcd8..086bdf3ceb23bd 100644 --- a/be/src/olap/tablet_meta.cpp +++ b/be/src/olap/tablet_meta.cpp @@ -1441,13 +1441,13 @@ std::shared_ptr DeleteBitmap::get_agg(const BitmapKey& bmk) co val->bitmap |= reinterpret_cast( DeleteBitmapAggCache::instance()->value(handle2)) ->bitmap; - DeleteBitmapAggCache::instance()->release(handle2); VLOG_DEBUG << "get agg cache version=" << start_version << " for tablet=" << _tablet_id << ", rowset=" << std::get<0>(bmk).to_string() << ", segment=" << std::get<1>(bmk); start_version += 1; } + DeleteBitmapAggCache::instance()->release(handle2); } { std::shared_lock l(lock); From 6d2c349f11e063ff0dd7883290be6a4745b2aacc Mon Sep 17 00:00:00 2001 From: zhannngchen Date: Mon, 7 Jul 2025 09:57:16 +0800 Subject: [PATCH 2/2] [fix](chore) fix cache release core (#52756) --- be/src/olap/tablet_meta.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/be/src/olap/tablet_meta.cpp b/be/src/olap/tablet_meta.cpp index 086bdf3ceb23bd..6786e82df209df 100644 --- a/be/src/olap/tablet_meta.cpp +++ b/be/src/olap/tablet_meta.cpp @@ -1447,7 +1447,9 @@ std::shared_ptr DeleteBitmap::get_agg(const BitmapKey& bmk) co << ", segment=" << std::get<1>(bmk); start_version += 1; } - DeleteBitmapAggCache::instance()->release(handle2); + if (handle2 != nullptr) { + DeleteBitmapAggCache::instance()->release(handle2); + } } { std::shared_lock l(lock);