allthingssecurity commented on PR #26793: URL: https://github.com/apache/camel/pull/26793#issuecomment-5817867959
@apupier thanks for the reminder. It was not done yet, it is now: I rebased on main (with #26794) and added a second commit. Without it, the combination fails exactly as @oscerd described: after the rebase, `SedaProducerInterruptedTest.testInterruptedWhileWaitingForReply` from #26794 fails with `expected: <request> but was: <reply>`, because the late reply wins the `completed` claim and is copied over the `InterruptedException`. The interrupted wait (no timeout) now claims the exchange with the same `completed.compareAndSet(false, true)` as the timeout: - if it wins, the exchange fails with the `InterruptedException`, the copy is removed from the queue, and a later reply is ignored; - if the reply is already being copied, it waits for the copy to complete (`awaitUninterruptibly`) and returns the reply, so the exchange is not changed after the producer returned. The interrupt status is kept in both cases. New `SedaTimeoutLateReplyTest.testReplyBeingCopiedWhenInterrupted` covers the second case, and fails without the commit. `*Seda*` in camel-core: 145 tests, 0 failures. _Claude Code on behalf of allthingssecurity_ -- 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]
