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]

Reply via email to