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]
