This is an automated email from the ASF dual-hosted git repository.
eldenmoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 2965b9b3b4 fix update delete bitmap when rowset is blank (#24075)
2965b9b3b4 is described below
commit 2965b9b3b483642b9e83d768551cb404b3bd614e
Author: Chenyang Sun <[email protected]>
AuthorDate: Fri Sep 8 12:43:42 2023 +0800
fix update delete bitmap when rowset is blank (#24075)
If the rowset (derived from a clone) does not have a segment, there is no
need to update the delete bitmap.
---
be/src/olap/tablet.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp
index 6af6b6aff1..31aa25f9a5 100644
--- a/be/src/olap/tablet.cpp
+++ b/be/src/olap/tablet.cpp
@@ -3239,6 +3239,12 @@ Status Tablet::update_delete_bitmap_without_lock(const
RowsetSharedPtr& rowset)
std::vector<segment_v2::SegmentSharedPtr> segments;
_load_rowset_segments(rowset, &segments);
+ // If this rowset does not have a segment, there is no need for an update.
+ if (segments.empty()) {
+ LOG(INFO) << "[Schema Change or Clone] skip to construct delete bitmap
tablet: "
+ << tablet_id() << " cur max_version: " << cur_version;
+ return Status::OK();
+ }
RowsetIdUnorderedSet cur_rowset_ids = all_rs_id(cur_version - 1);
DeleteBitmapPtr delete_bitmap =
std::make_shared<DeleteBitmap>(tablet_id());
RETURN_IF_ERROR(calc_delete_bitmap_between_segments(rowset, segments,
delete_bitmap));
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]