[ https://issues.apache.org/jira/browse/AMQNET-434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13645295#comment-13645295 ]
Daniel Marbach commented on AMQNET-434: --------------------------------------- Sorry the file should be named .patch. Messed that up > FailoverTransport Memory Leak with TransactionState > --------------------------------------------------- > > Key: AMQNET-434 > URL: https://issues.apache.org/jira/browse/AMQNET-434 > Project: ActiveMQ .Net > Issue Type: Bug > Affects Versions: 1.5.6 > Reporter: Daniel Marbach > Assignee: Timothy Bish > Fix For: 1.6.0 > > Attachments: ConnectionStateTrackerMemoryLeak.cs > > > 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. > Daniel -- 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: http://www.atlassian.com/software/jira