sollhui opened a new pull request, #67759:
URL: https://github.com/apache/doris/pull/67759
### What problem does this PR solve?
Related PR: #67674
When load close holds a channel or writer lock while waiting for flush or
delete bitmap work, cancelling the load also waits for those locks. Publish a
shared per-load `AtomicStatus` instead of synchronously traversing and
cancelling each writer. Local and cloud write/close paths observe the status at
phase boundaries, and the EOS wait exits when the load is cancelled.
The manager removes failed loads and retains their cancellation reason, so
late open/add-batch requests and a concurrent successful close cannot erase the
failure. In-flight requests retain ownership. The final writer owner drains
previously submitted bitmap work before builder cleanup; the existing
rowset-writer destructor cancellation runs before deleting files that callbacks
may still read.
This change does not add explicit delete bitmap token cancellation to load
cancellation. Existing bitmap submissions and waits keep their behavior; there
is no token registration, queued-task shutdown, or polling added to the bitmap
executor. `tablet_writer_cancel` continues to use the heavy work pool. The
final owner can still wait for outstanding work during destruction.
### Release note
Load cancellation can publish its status without waiting for channel or
writer locks held by close.
### Check List (For Author)
- Test:
- No new unit tests in this PR. Cancellation test coverage is deferred
to the follow-up delete bitmap cancellation PR.
- No unit tests executed and no completed BE build for this standalone
change.
- clang-format 16 check, `git diff --check`, and
`build-support/check-build-hygiene.sh` passed. The format wrapper used the
installed clang-format 16 binary with a local adjustment for missing Homebrew
keg metadata.
- Reviewed cancellation publication, local/cloud and group writer
propagation, late request handling, and final-owner cleanup.
- Behavior changed: Yes.
- Does this need documentation? No.
### 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]