This is an automated email from the ASF dual-hosted git repository.

morrysnow pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new 29d5d993c9b branch-3.1: [fix](mow) fix potential mem leak for 
DeleteBitmap::get_agg #52718,#52756 (#52860)
29d5d993c9b is described below

commit 29d5d993c9bc7c4a4636e6c5ad671abe38535e41
Author: zhannngchen <[email protected]>
AuthorDate: Mon Jul 7 14:23:20 2025 +0800

    branch-3.1: [fix](mow) fix potential mem leak for DeleteBitmap::get_agg 
#52718,#52756 (#52860)
    
    cherry-pick #52718 #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 ab225d1fcdb..6786e82df20 100644
--- a/be/src/olap/tablet_meta.cpp
+++ b/be/src/olap/tablet_meta.cpp
@@ -1441,13 +1441,15 @@ std::shared_ptr<roaring::Roaring> 
DeleteBitmap::get_agg(const BitmapKey& bmk) co
                 val->bitmap |= reinterpret_cast<DeleteBitmapAggCache::Value*>(
                                        
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;
             }
+            if (handle2 != nullptr) {
+                DeleteBitmapAggCache::instance()->release(handle2);
+            }
         }
         {
             std::shared_lock l(lock);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to