bobhan1 opened a new pull request, #69656:
URL: https://github.com/apache/doris/pull/69656
### What problem does this PR solve?
Related PR: #69606
Backport #69606 to `branch-4.2` from commit
`97ae75cb12f532df0ee42da4bc288559bd19b8a3`.
When a commit retry observes a transaction that is already COMMITTED, the
immediate, eventual and sub-transaction paths now join or resume lazy
publication and reread the durable VISIBLE state. This prevents a stale
temporary-rowset scan from publishing duplicate rowsets or returning partial
partition versions. Publication failure preserves commit success with the
existing incomplete-lazy response flags. Failed immediate response data is
cleared before lazy fallback.
Context conflicts were resolved against the existing 4.2 transaction flow.
The added and removed lines in all four files match the upstream change.
### Validation
- ASAN Cloud UT build passed: `BUILD_TYPE=ASAN ./run-cloud-ut.sh -j100`.
- `txn_lazy_commit_test` with filter
`CommittedTxnRetryTest.*:TxnLazyCommitTest.FallThroughCommitTxnEventuallyTest`:
**4 passed, 0 failures, 0 errors**, verified in the GTest XML report. The three
retry cases used a private FoundationDB 7.1.26 instance; the fallback case uses
MemTxnKv.
- Changed-line clang-format 16 and `git diff --check` passed.
### Release note
Prevent duplicate publication and incomplete version responses when
transaction commit retries race lazy publication, while preserving commit
success when lazy publication is incomplete.
### Check List (For Author)
- Test
- [x] Unit Test
- Behavior changed:
- [x] Yes. Resume COMMITTED retries through lazy publication and discard
failed immediate response data before fallback.
- Does this need documentation?
- [x] No. No new user-facing setting or syntax.
### 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]