You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2010/07/19 23:23:05 UTC
[jira] Resolved: (AMQ-1876) Memory leak in broker when subscribing
to a topic using TCP connector + nolocal
[ https://issues.apache.org/activemq/browse/AMQ-1876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy Bish resolved AMQ-1876.
-------------------------------
Fix Version/s: 5.4.0
(was: NEEDS_REVIEWED)
Resolution: Fixed
I've run the provided test case along with a unit test I created based off the sample with the latest 5.4 sample and cannot reproduce the reported behaviour.
> Memory leak in broker when subscribing to a topic using TCP connector + nolocal
> -------------------------------------------------------------------------------
>
> Key: AMQ-1876
> URL: https://issues.apache.org/activemq/browse/AMQ-1876
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.1.0, 5.2.0
> Environment: Spring 2.5.4
> Reporter: Aaron Pieper
> Assignee: Timothy Bish
> Fix For: 5.4.0
>
> Attachments: BrokerMemoryLeak.java
>
>
> I'm encountering what appears to be a memory leak in the BrokerService. The symptom is that the BrokerService's memory usage increases with each message that is sent to a topic. The memory usage increases proportionally with the size of the message, as though each message is being stored permanently in memory.
> I've included an example which continuously sends messages around 1 megabyte in size to a topic with a single subscriber. If you run the included BrokerMemoryLeak.java, you should see the following output:
> Memory Usage: 0 Memory Percent: 0 Send count: 0
> Memory Usage: 16016576 Memory Percent: 23 Send count: 16
> Memory Usage: 38039368 Memory Percent: 56 Send count: 38
> Memory Usage: 61063196 Memory Percent: 90 Send count: 61
> Memory Usage: 68070448 Memory Percent: 101 Send count: 68
> Memory Usage: 68070448 Memory Percent: 101 Send count: 68
> BrokerService's memory usage climbs steadily until the memory percent hits 100. Then, messages stop being sent. There are several ways to make the bug stop happening:
> * Switch from using a Topic to a Queue
> * Switch the Broker address to 'vm://foo', so it's not using TCP
> * Set the third argument in the 'createConsumer' call to false. (the noLocal argument)
> * Don't register the MessageListener
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.