Hi, It seems that transaction states in the connection state tracker are not cleaned up when doing rollback on a transaction.
>From what I understand, the ConnectionStateTracker.processRollbackTransaction(TransactionInfo info) returns a tracked response that should be handled asynchronously in the transport thread when the broker replies. But the actual call to the broker (from the TransactionContext.rollback method) is a oneway, so the responseRequired flag is not set in the command, the broker never replies and the Tracked object is never processed. As a result, TransactionState objects reside forever in the ConnectionState, and their corresponding Tracked objects in the requestMap of the FailoverObject. Is that correct, or have I missed something ? Please find attached a test case http://www.nabble.com/file/p24868423/RollbackLeak.java RollbackLeak.java , tested on versions 5.2.0 and 5.3-SNAPSHOT. Cheers, Fabrice -- View this message in context: http://www.nabble.com/Failover-transport-memory-leak-on-rollback-tp24868423p24868423.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.
