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]

Reply via email to