This is an automated email from the ASF dual-hosted git repository.
yiguolei 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 418ea0a24e [fix](merge-on-write) fix that failed to
capture_consistent_rowsets when full clone (#18346)
418ea0a24e is described below
commit 418ea0a24e59171aa8742425e05925e0c941968b
Author: Xin Liao <[email protected]>
AuthorDate: Tue Apr 4 10:39:28 2023 +0800
[fix](merge-on-write) fix that failed to capture_consistent_rowsets when
full clone (#18346)
When full clone, if the max version of the local table is less than or
equal to the max version of the clone table, there is no need to calculate the
delete bitmap again.
---
be/src/olap/tablet.cpp | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp
index 4d45672219..4d4538a8aa 100644
--- a/be/src/olap/tablet.cpp
+++ b/be/src/olap/tablet.cpp
@@ -308,14 +308,17 @@ Status Tablet::revise_tablet_meta(const
std::vector<RowsetSharedPtr>& to_add,
CHECK_EQ(to_add_min_version, 0) << "to_add_min_version is: " <<
to_add_min_version;
calc_delete_bitmap_ver = Version(to_add_max_version + 1,
max_version().second);
}
- Status res =
- capture_consistent_rowsets(calc_delete_bitmap_ver,
&calc_delete_bitmap_rowsets);
- // Because the data in memory has been changed, can't return an error.
- CHECK(res.ok()) << "fail to capture_consistent_rowsets, res: " << res;
-
- for (auto rs : calc_delete_bitmap_rowsets) {
- res = update_delete_bitmap_without_lock(rs);
- CHECK(res.ok()) << "fail to update_delete_bitmap_without_lock,
res: " << res;
+
+ if (calc_delete_bitmap_ver.first <= calc_delete_bitmap_ver.second) {
+ Status res =
+ capture_consistent_rowsets(calc_delete_bitmap_ver,
&calc_delete_bitmap_rowsets);
+ // Because the data in memory has been changed, can't return an
error.
+ CHECK(res.ok()) << "fail to capture_consistent_rowsets, res: " <<
res;
+
+ for (auto rs : calc_delete_bitmap_rowsets) {
+ res = update_delete_bitmap_without_lock(rs);
+ CHECK(res.ok()) << "fail to update_delete_bitmap_without_lock,
res: " << res;
+ }
}
}
// clear stale rowset
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]