DanielLeens commented on PR #12381: URL: https://github.com/apache/seatunnel/pull/12381#issuecomment-5846317907
Thanks for going one step further than any of us had and actually forcing the failure locally — that's the piece this thread was missing. I went back to the source with your numbers in hand rather than taking them on faith, and they check out exactly. `PayPalClient#execute` returns on a transient status without ever touching the response entity (it builds `new Reply(status, new byte[0], delay)` as soon as it has the status line) and its `finally` block unconditionally calls `request.abort()` right after. On the test side, `serve()` only counts the `arrived` latch down *after* `exchange.getResponseBody().write(reply.body)` succeeds, and that write sits inside a `catch (IOException ignored)`. `closeWakesRetryWait` replies with a plain 503 body, so it takes exactly that path — if the abort wins the race, the write throws, the exception is swallowed, and nothing will ever count that latch down, no matter how long the budget is. Your forced-IOException run (20/20 failing on this PR vs. 0/20 on #12444) is a clean, direct reproduction of that. Worth noting the test's own `Reply` class already has a `bodyless` flag that counts `arrived` down immediately after the headers are sent, before any body write — that's the exact shape of fix this needs, it's just not applied to the 503 reply here. #12444 fixes the real root cause rather than the symptom, and I agree it's the right vehicle going forward. My suggestion would be to drop the `PayPalClientTest` half of this PR and let #12444 carry that fix, keeping this PR scoped to the `FileCollectReaderBehaviorTest` widening, which doesn't have this problem. I haven't looked at #12444's current CI failure yet, but that's a separate matter from this PR. -- 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]
