davidzollo opened a new pull request, #12114:
URL: https://github.com/apache/seatunnel/pull/12114

   ## What does this PR do?
   
   `DorisErrorIT#testDoris` stops the Doris container mid-stream-load and 
asserts the job fails with `STREAM_LOAD_FAILED`. It additionally required 
stderr to contain one exact frame, 
`RecordBuffer.checkErrorMessageByStreamLoad`. That frame only appears when the 
broker still answers the HTTP request with an error; when the stopped 
container's network alias is already gone, the same `STREAM_LOAD_FAILED` is 
raised by `DorisStreamLoad` (`stopLoad` / `abortPreCommit` / `startStreamLoad`) 
wrapping the connect/DNS failure (`UnknownHostException: doris_e2e`). Which 
path wins is a Docker teardown race.
   
   This keeps the contract unchanged — non-zero exit and `STREAM_LOAD_FAILED` 
present — and requires the failure to surface from the sink's stream-load layer 
via either legitimate frame family, instead of pinning one implementation 
detail.
   
   ## Why is this needed?
   
   Seen intermittently on unrelated PRs #11503 and #11727. In both CI runs the 
`STREAM_LOAD_FAILED` code assertion passed and only the frame check failed, 
with `DorisStreamLoad.stopLoad` → `Doris-01 stream load error` ← 
`UnknownHostException: doris_e2e: Temporary failure in name resolution` in the 
captured stderr.
   
   ## Does this PR introduce any user-facing change?
   
   No. Test-only.
   
   ## How was this patch tested?
   
   Test-only; the assertion still fails for an early submission failure or any 
non-stream-load error (the error-code check and the "raised from the 
stream-load layer" check both remain), and passes for both observed legitimate 
paths.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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]

Reply via email to