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]