[ https://issues.apache.org/activemq/browse/AMQ-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sebastian Gutsfeld updated AMQ-2178: ------------------------------------ Attachment: fix_command_visitor_in_connection_state_tracker.patch The bug was found in the FUSE distribution of ActiveMQ but can also be applied to the official Apache distribution. > Memory leak in ConnectionStateTracker (cannot remove connections, sessions or > consumers) > ---------------------------------------------------------------------------------------- > > Key: AMQ-2178 > URL: https://issues.apache.org/activemq/browse/AMQ-2178 > Project: ActiveMQ > Issue Type: Bug > Affects Versions: 5.2.0 > Environment: Debian Linux > Processor with 2 cores > Java 1.6.0_07-b06 > Bitronix Transaction Manager 1.3.2 > Reporter: Sebastian Gutsfeld > Attachments: fix_command_visitor_in_connection_state_tracker.patch > > > After inspecting the heap dump of our application we saw that the > ConcurrentHashMap connectionStates in > org.apache.activemq.state.ConnectionStateTracker in > org.apache.activemq.transport.failover.FailoverTransport consumes very much > heap space. > The ConnectionStateTracker is an implementation of a CommandVisitor, but the > function to remove connections from the connectionStates ConcurrentHashMap in > processRemoveConnection() is never called, as it does not correspond to the > CommandVisitor interface. The same applies to the processRemoveConsumer() and > processRemoveSession() functions. > I attached a patch to fix those bugs and remove the memory leak in > ConnectionStateTracker. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.