You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by fdelaporte <fa...@eileo.com> on 2009/08/07 18:58:24 UTC
Failover transport memory leak on rollback
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.