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 5be19841dc3 branch-3.1: [fix](mow) fix agg delete bitmap for stale 
rowsets #53611 (#53662)
5be19841dc3 is described below

commit 5be19841dc3330508525ef9446568149481e1a45
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Jul 22 14:05:22 2025 +0800

    branch-3.1: [fix](mow) fix agg delete bitmap for stale rowsets #53611 
(#53662)
    
    Cherry-picked from #53611
    
    Co-authored-by: meiyi <[email protected]>
---
 be/src/cloud/cloud_tablet.cpp | 4 ++--
 be/src/olap/base_tablet.cpp   | 3 +++
 be/src/olap/tablet.cpp        | 2 +-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/be/src/cloud/cloud_tablet.cpp b/be/src/cloud/cloud_tablet.cpp
index c3846c356a4..6132270c4fd 100644
--- a/be/src/cloud/cloud_tablet.cpp
+++ b/be/src/cloud/cloud_tablet.cpp
@@ -500,8 +500,8 @@ uint64_t CloudTablet::delete_expired_stale_rowsets() {
     }
 
     add_unused_rowsets(expired_rowsets);
-    if (keys_type() == UNIQUE_KEYS && enable_unique_key_merge_on_write() &&
-        !deleted_stale_rowsets.empty()) {
+    if (config::enable_agg_and_remove_pre_rowsets_delete_bitmap && keys_type() 
== UNIQUE_KEYS &&
+        enable_unique_key_merge_on_write() && !deleted_stale_rowsets.empty()) {
         // agg delete bitmap for pre rowsets; record unused delete bitmap key 
ranges
         OlapStopWatch watch;
         for (const auto& [version, unused_rowsets] : deleted_stale_rowsets) {
diff --git a/be/src/olap/base_tablet.cpp b/be/src/olap/base_tablet.cpp
index ea588769342..468015543bd 100644
--- a/be/src/olap/base_tablet.cpp
+++ b/be/src/olap/base_tablet.cpp
@@ -1750,6 +1750,9 @@ void BaseTablet::agg_delete_bitmap_for_stale_rowsets(
     }
     int64_t start_version = version.first;
     int64_t end_version = version.second;
+    if (start_version == end_version) {
+        return;
+    }
     DCHECK(start_version < end_version)
             << ". start_version: " << start_version << ", end_version: " << 
end_version;
     // get pre rowsets
diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp
index 1cbbb7379e4..e058363e9e2 100644
--- a/be/src/olap/tablet.cpp
+++ b/be/src/olap/tablet.cpp
@@ -868,7 +868,7 @@ void Tablet::delete_expired_stale_rowset() {
                     << " old_meta_size=" << old_meta_size << " sweep endtime " 
<< std::fixed
                     << expired_stale_sweep_endtime << ", reconstructed=" << 
reconstructed;
     }
-    if (!deleted_stale_rowsets.empty()) {
+    if (config::enable_agg_and_remove_pre_rowsets_delete_bitmap && 
!deleted_stale_rowsets.empty()) {
         // agg delete bitmap for pre rowsets; record unused delete bitmap key 
ranges
         OlapStopWatch watch;
         for (const auto& [version, remove_rowset_ids] : deleted_stale_rowsets) 
{


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

Reply via email to