-
Notifications
You must be signed in to change notification settings - Fork 3.7k
branch-3.0-pick: [Fix](cloud-mow) Check partition's version to avoid wrongly update visible versions' delete bitmaps (#49710) #49796
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
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
acce601 to
64bac5d
Compare
…sible versions' delete bitmaps (apache#49710) considering the following problem: 1. Transaction X acquires the lock and attempts to publish with version a. This task is sent to the BE. At this point, the tablet's maximum version is a-1, and task (1) starts computation. 2. Transaction X fails on FE due to timeout and releases the lock. 3. Transaction Y acquires the lock, attempts to publish with version a, and succeeds. 4. Transaction X retries and acquires the lock again, and attempts to publish with version b. 5. Meanwhile, task (1) from Transaction X completes its computation on BE and writes the generated delete bitmap to the MS with version a. **Since Transaction X currently holds the lock, this write operation succeeds, overwriting the delete bitmaps written of actual version a by Transaction Y.** 6. Subsequent transactions on the tablet will use the pending delete bitmap to delete the version a delete bitmap written by task (1) in the MS. The root cause is that when a load txn retries in publish phase, the locks it gains are different, but they are the same in the current implementation because they have the same lock_id and initiator. This PR checks target partition's version when update delete bitmaps to avoid this problem.
64bac5d to
d31be44
Compare
|
run buildall |
|
TeamCity cloud ut coverage result: |
|
run buildall |
|
TeamCity cloud ut coverage result: |
TPC-H: Total hot run time: 40506 ms |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
TPC-DS: Total hot run time: 197617 ms |
ClickBench: Total hot run time: 33.17 s |
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
pick #49710