activemq-users mailing list archives

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

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.


Mime
View raw message