This is an automated email from the ASF dual-hosted git repository.
dataroaring 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 00ee11e9f3a [Fix](merge-on-write) Should clear
`GetDeleteBitmapUpdateLockResponse` when geting delete bitmap update lock fail
and retry (#44975)
00ee11e9f3a is described below
commit 00ee11e9f3a4018fc0eca686003eafc6ba9486fe
Author: bobhan1 <[email protected]>
AuthorDate: Thu Dec 5 10:17:02 2024 +0800
[Fix](merge-on-write) Should clear `GetDeleteBitmapUpdateLockResponse` when
geting delete bitmap update lock fail and retry (#44975)
Similar to https://github.com/apache/doris/pull/43261,
`GetDeleteBitmapUpdateLockResponse` should be cleared after
`get_delete_bitmap_update_lock` fails on MS. Otherwise BE may get staled
compaction cnts and wrongly skip to sync rowsets before
`update_delete_bitmap()` thus causing duplicate keys problem.
---
cloud/src/meta-service/meta_service_helper.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/cloud/src/meta-service/meta_service_helper.h
b/cloud/src/meta-service/meta_service_helper.h
index 5355ac0eb61..e4ed7e2a231 100644
--- a/cloud/src/meta-service/meta_service_helper.h
+++ b/cloud/src/meta-service/meta_service_helper.h
@@ -118,6 +118,12 @@ void finish_rpc(std::string_view func_name,
brpc::Controller* ctrl, Response* re
<< " status=" << res->status().ShortDebugString()
<< " tablet=" << res->tablet_id()
<< " delete_bitmap_count=" <<
res->segment_delete_bitmaps_size();
+ } else if constexpr (std::is_same_v<Response,
GetDeleteBitmapUpdateLockResponse>) {
+ if (res->status().code() != MetaServiceCode::OK) {
+ res->clear_base_compaction_cnts();
+ res->clear_cumulative_compaction_cnts();
+ res->clear_cumulative_points();
+ }
} else if constexpr (std::is_same_v<Response, GetObjStoreInfoResponse> ||
std::is_same_v<Response, GetStageResponse>) {
std::string debug_string = res->DebugString();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]