activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Marbach (JIRA)" <>
Subject [jira] [Created] (AMQNET-434) FailoverTransport Memory Leak with TransactionState
Date Fri, 26 Apr 2013 13:26:16 GMT
Daniel Marbach created AMQNET-434:

             Summary: FailoverTransport Memory Leak with TransactionState
                 Key: AMQNET-434
             Project: ActiveMQ .Net
          Issue Type: Bug
    Affects Versions: 1.5.6
            Reporter: Daniel Marbach
            Assignee: Jim Gomes

I'm hunting down a possible memory leak. We have the following problem in production:

when the consumer/subscriber endpoint runs for a long time with failover transport enabled
the memory grows indefinitely. 

I used YouTrack and AntsProfiler to hunt down the issues. The retention path I see in production
is the following:

The FailoverTransport nested class FailoverTask has two ConnectionStateTrackers this keeps
a dictionary which links the ConnectionId to the ConnectionState. The ConnectionState itself
has a dictionary which links the transactionId to the TransactionState. The TranscationState
tracks commands. BUT these commands are never freed up from the transaction state and stay
there forever which will blow up the memory some time. 

I'm currently investigation how to fix this but must first properly understand the code. I
opened up this issue in the hope that it will ring a bell for you guys.


This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message