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

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: #66092
   
   Problem Summary:
   
   Backport #66092 to `branch-4.1`.
   
   During a large cloud load, lazy commit can finish its first metadata phase 
but fail to complete background rowset promotion before the commit RPC returns. 
FE previously treated this response as fully published and notified BEs to make 
temporary rowsets visible, which could race the meta-service metadata update.
   
   This change reports whether the commit used the lazy path and whether that 
path is incomplete. FE skips the BE fast-path promotion only for incomplete 
lazy commits.
   
   The only cherry-pick conflict was in `CloudGlobalTransactionMgrTest`: master 
has the JMockit-to-Mockito migration from #62221, while `branch-4.1` does not. 
The conflict was resolved by preserving the existing `branch-4.1` JMockit tests 
and adding only the four independent notification cases and their helper from 
#66092.
   
   ### Release note
   
   Fix a cloud metadata consistency issue between large transaction lazy commit 
and BE compaction.
   
   ### Check List (For Author)
   
   - Test
       - [ ] Regression test
       - [x] Unit Test
       - [ ] Manual test
       - `build-support/check-format.sh`
       - `./run-fe-ut.sh --run 
org.apache.doris.cloud.transaction.CloudGlobalTransactionMgrTest` (20 tests, 0 
failures, 0 errors)
       - `./build.sh --cloud -j100`
       - `BUILD_TYPE=Release ./run-cloud-ut.sh --run 
--filter=txn_lazy_commit_test:TxnLazyCommitTest.CommitTxnEventuallyWithFailedLazyCommitTaskTest
 -j100` (1 test passed)
       - Full `TxnLazyCommitTest.*`: 22/24 passed in both ASAN and Release. 
`CommitTxnEventuallyWithHugeRowsetMetaTest` and 
`CommitTxnEventuallyWithManyPartitions` consistently timed out after 20 seconds 
in MemTxnKv; the new lazy-commit failure test passed in both runs.
   
   - Behavior changed:
       - [ ] No.
       - [x] Yes. FE no longer promotes temporary rowsets when meta-service 
reports an incomplete lazy commit.
   
   - 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