JNSimba opened a new pull request, #70237:
URL: https://github.com/apache/doris/pull/70237
### What problem does this PR solve?
Problem Summary:
After FE restarts, a recovered streaming task can return to a CDC client
where an older task still has an in-flight Stream Load retry. Reusing that
job's writer lets the old request's eventual failure poison the recovered task,
causing another task failure and job pause.
Replace the cached writer when its current task has not finished flushing,
while retaining writer reuse after normal completion. Check reader ownership
before acquiring a writer. Serialize writer acquisition and ownership-aware
failure cleanup on the coordinator monitor so a successor cannot install a
writer between the ownership check and cache removal. Make `currentTaskId`
volatile so completion is visible to the acquisition thread.
Scope: this change isolates writer state during takeover. It does not add
request deduplication, task-generation fencing, or cancellation of an HTTP
request already accepted by the server.
### Release note
Reduce streaming job failures caused by an older task's Stream Load retry
after FE recovery.
### Check List (For Author)
- Test:
- Build and runtime tests were not run at the author's request.
- Static review and `git diff --check` completed.
- Behavior changed: Yes. An occupied cached writer is closed and replaced
during task takeover; normally completed writers remain reusable.
- 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]