gnodet opened a new pull request, #24627:
URL: https://github.com/apache/camel/pull/24627
## Summary
_Claude Code on behalf of gnodet_
Fix flaky `JmsTransactedDeadLetterChannelNotHandlerRollbackOnExceptionIT` by
retrying the DLQ read on transient session-closed errors.
**Root cause**: After a transaction rollback, the transacted JMS session
used by the consumer template can be briefly in a closed state. When the test
immediately calls `consumer.receiveBody("activemq:" + DLQ_NAME)`, it encounters
a `Session is closed` `IllegalStateException` from Spring JMS.
**Develocity data**: 11 failures + 13 flaky out of 368 runs (~6.5% failure
rate). Error: `org.springframework.jms.IllegalStateException: Session is
closed`.
**Fix**:
- Wrap the DLQ read in
`Awaitility.await().ignoreExceptions().untilAsserted()` to retry on transient
session-closed errors
- Reduce inner receive timeout from 10s to 2s for faster retries within the
30s Awaitility window
- This ensures the test gets a fresh JMS session on retry after the
transacted session recovers
## Test plan
- [x] `JmsTransactedDeadLetterChannelNotHandlerRollbackOnExceptionIT` passes
locally (1 test, 0 failures)
- [ ] CI build passes
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.6 <[email protected]>
--
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]