bobhan1 opened a new pull request, #69497:
URL: https://github.com/apache/doris/pull/69497

   ### What problem does this PR solve?
   
   Backport #68436 to `branch-4.2` (upstream commit 
`e4d328e23b888ea9698f7e58c99dcf460580e122`).
   
   During cloud schema change, compaction can prefill the aggregate 
delete-bitmap cache before a `TABLET_NOTREADY` tablet has its complete delete 
bitmap. Those entries can survive the transition to `TABLET_RUNNING` and expose 
overwritten rows. Require `TABLET_RUNNING` under the existing tablet header 
read lock before either post-compaction prefill mode runs.
   
   The production patch is identical to upstream. Adapt the parameterized test 
to 4.2's contiguous segment IDs and `DeleteBitmap::BitmapKey` API, retaining 
all four prefill switch combinations, output and non-output rowsets, and the 
unchanged read-version check across the state transition.
   
   ### Release note
   
   Fix duplicate rows returned by Unique Key Merge-on-Write queries when schema 
change overlaps compaction.
   
   ### Check List (For Author)
   
   - Test
       - [ ] Regression test
       - [x] Unit Test
       - [ ] Manual test
       - [ ] No need to test or manual test.
   
   Validation:
   
   ```bash
   ./run-be-ut.sh --run 
--filter='PrefillModes/CloudTabletDeleteBitmapPrefillTest.*:CloudTabletDeleteBitmapTest.*:TabletMetaTest.*:CloudCompactionTest.*'
 -j100
   ```
   
   ASAN: **52 tests from 4 test suites passed**, including all four new prefill 
parameter combinations, `CloudTabletDeleteBitmapTest`, `TabletMetaTest`, and 
`CloudCompactionTest`.
   
   Changed C++ code passes clang-format 16; `git diff --check 
upstream/branch-4.2...HEAD` passes. Docker regression was not run.
   
   - Behavior changed:
       - [ ] No.
       - [x] Yes. Skip post-compaction aggregate delete-bitmap cache prefill 
until the tablet is RUNNING.
   
   - Does this need documentation?
       - [x] No.
       - [ ] Yes.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to