-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[Fix](cloud-mow) Full compaction should only update delete bitmap of its output rowset #50974
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Fix](cloud-mow) Full compaction should only update delete bitmap of its output rowset #50974
Conversation
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
run buildall |
TPC-H: Total hot run time: 33874 ms
|
TPC-DS: Total hot run time: 192929 ms
|
ClickBench: Total hot run time: 29.27 s
|
run p0 |
@@ -377,7 +377,8 @@ Status CloudFullCompaction::_cloud_full_compaction_calc_delete_bitmap( | |||
segments.begin(), segments.end(), 0, | |||
[](size_t sum, const segment_v2::SegmentSharedPtr& s) { return sum += s->num_rows(); }); | |||
for (const auto& [k, v] : tmp_delete_bitmap->delete_bitmap) { | |||
if (std::get<1>(k) != DeleteBitmap::INVALID_SEGMENT_ID) { | |||
if (std::get<0>(k) == _output_rowset->rowset_id() && |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add comments here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…its output rowset (#50974) ### What problem does this PR solve? When table has sequence column, full compaction may generate delete bitmap marks on published rowset when calculating delete bitmaps for incremental rowsets. This will cause correctness problem when those published rowset has multi segments and have duplicate keys between those segments because full compaction will **override** the origin delete bitmaps on those segment currently. To fix it, full compaction should only update delete bitmaps of its own output rowset.
…its output rowset (apache#50974) ### What problem does this PR solve? When table has sequence column, full compaction may generate delete bitmap marks on published rowset when calculating delete bitmaps for incremental rowsets. This will cause correctness problem when those published rowset has multi segments and have duplicate keys between those segments because full compaction will **override** the origin delete bitmaps on those segment currently. To fix it, full compaction should only update delete bitmaps of its own output rowset.
What problem does this PR solve?
When table has sequence column, full compaction may generate delete bitmap marks on published rowset when calculating delete bitmaps for incremental rowsets. This will cause correctness problem when those published rowset has multi segments and have duplicate keys between those segments because full compaction will override the origin delete bitmaps on those segment currently.
To fix it, full compaction should only update delete bitmaps of its own output rowset.
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)