activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fdelaporte <>
Subject Failover transport memory leak on rollback
Date Fri, 07 Aug 2009 16:58:24 GMT


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

Is that correct, or have I missed something ?

Please find attached a test case ,
tested on versions 5.2.0 and 5.3-SNAPSHOT.

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message