Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Fix](cloud) Remove pending delete bitmap's
lock_id
check when comm…
…it txn in MS (apache#46841) ### What problem does this PR solve? Related PR: apache#46039 Problem Summary: apache#46039 add a defensive check when commit_txn in MS to check whether the `lock_id` of pending delete bitmaps on tablets involved in the txn is the current txn's `lock_id`. But this may report a false negative in the following circumstance: 1. heavy schema change begins and add shadow index to table. 2. txn A load data to base index and shadow index. 3. txn A write its pending delete bitmaps on MS. This includes tablets of base index and shadow index. 4. txn A failed to remove its pending delete bitmaps for some reson(e.g. `commit_txn()` failed due to too large value) 5. txn B load data to base index and shadow index. 6. schema change failed for some reason and **remove shadow index on table.** 7. txn B send delete bitmap calculation task to BE. **Note that this will not involved tablets under shadow index because these tablets have been dropped.** **So these tablets' pending delete bitmaps will still be txn A's**. 8. txn B commit txn on MS and find that pending delete bitmaps' `lock_id` on tablets under shadow index not match. And txn B will failed. We can see that the checks on these dropped tablets are useless so we remove the mandatory check to avoid this false negative and print a warning log instead to help locate problems.
- Loading branch information