-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[fix](cloud-mow) compaction may cause duplicate key if get delete bitmap from cache failed #41309
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) compaction may cause duplicate key if get delete bitmap from cache failed #41309
Conversation
|
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
|
run buildall |
|
run buildall |
|
TeamCity be ut coverage result: |
TPC-H: Total hot run time: 40650 ms |
TPC-DS: Total hot run time: 191145 ms |
ClickBench: Total hot run time: 32.86 s |
hust-hhb
left a comment
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 anyone and no changes requested. |
dataroaring
left a comment
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. |
…map from cache failed (#41309) ## Proposed changes Issue Number: close #xxx To accelerate the speed of sync latest delete bitmap, #35856 try to get the delete bitmap from `CloudTxnDeleteBitmapCache` first. In the following situation, compaction may get empty delete bitmap and cause duplicate key: 1. compaction started 2. several load succeed during the compaction 3. compaction finished data merging and start to calculate delete bitmap generated by latest load tasks 4. compaction try to sync rowset and delete bitmap, it get delete bitmap first from `CloudTxnDeleteBitmapCache` 5. `CloudTxnDeleteBitmapCache::get_delete_bitmap()` can get txn infos from it's inner map, but cache missed when it try to get delete bitmap from LRU cache, it don't report error but returned an empty delete bitmap 6. compaction used wrong delete bitmap, duplicate key occured.
…map from cache failed (apache#41309) ## Proposed changes Issue Number: close #xxx To accelerate the speed of sync latest delete bitmap, apache#35856 try to get the delete bitmap from `CloudTxnDeleteBitmapCache` first. In the following situation, compaction may get empty delete bitmap and cause duplicate key: 1. compaction started 2. several load succeed during the compaction 3. compaction finished data merging and start to calculate delete bitmap generated by latest load tasks 4. compaction try to sync rowset and delete bitmap, it get delete bitmap first from `CloudTxnDeleteBitmapCache` 5. `CloudTxnDeleteBitmapCache::get_delete_bitmap()` can get txn infos from it's inner map, but cache missed when it try to get delete bitmap from LRU cache, it don't report error but returned an empty delete bitmap 6. compaction used wrong delete bitmap, duplicate key occured.
Proposed changes
Issue Number: close #xxx
To accelerate the speed of sync latest delete bitmap, #35856 try to get the delete bitmap from
CloudTxnDeleteBitmapCachefirst.In the following situation, compaction may get empty delete bitmap and cause duplicate key:
CloudTxnDeleteBitmapCacheCloudTxnDeleteBitmapCache::get_delete_bitmap()can get txn infos from it's inner map, but cache missed when it try to get delete bitmap from LRU cache, it don't report error but returned an empty delete bitmap