activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Fisher (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-2448) Memory leak when there are network connector retries to an unavailable broker
Date Tue, 13 Oct 2009 13:27:53 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-2448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=54730#action_54730
] 

Alexander Fisher commented on AMQ-2448:
---------------------------------------

The following comes from a Java Heap dump I did after about 12 hours of operation.  No messages
were sent in this time.  The dumpfile used was over 500MB so I'm not attaching it.
I could start fresh and generate and attach a dump after 10 minutes or so if this would help.

Instance Counts for All Classes (excluding platform)
7343 instances of class [Lorg.apache.activemq.command.ActiveMQDestination;
5499 instances of class org.apache.activemq.transport.MutexTransport
5499 instances of class org.apache.activemq.transport.ResponseCorrelator
5499 instances of class org.apache.activemq.util.IntSequenceGenerator
3838 instances of class org.apache.activemq.management.CountStatisticImpl
3668 instances of class [Lorg.apache.activemq.command.DataStructure;
3667 instances of class org.apache.activemq.thread.Valve
3666 instances of class [Lorg.apache.activemq.command.BrokerId;
1843 instances of class org.apache.activemq.command.WireFormatInfo
1836 instances of class org.apache.activemq.util.LongSequenceGenerator
1835 instances of class org.apache.activemq.util.IdGenerator
1834 instances of class org.apache.activemq.openwire.OpenWireFormat
1834 instances of class org.apache.activemq.thread.DedicatedTaskRunner
1834 instances of class org.apache.activemq.thread.DedicatedTaskRunner$1
1834 instances of class org.apache.activemq.util.DataByteArrayInputStream
1834 instances of class org.apache.activemq.util.DataByteArrayOutputStream
1833 instances of class org.apache.activemq.broker.SingleTransportConnectionStateRegister
1833 instances of class org.apache.activemq.broker.TransportConnection
1833 instances of class org.apache.activemq.broker.TransportConnection$1
1833 instances of class org.apache.activemq.broker.region.ConnectionStatistics
1833 instances of class org.apache.activemq.network.ConduitBridge
1833 instances of class org.apache.activemq.network.DemandForwardingBridgeSupport$1
1833 instances of class org.apache.activemq.network.DemandForwardingBridgeSupport$2
1833 instances of class org.apache.activemq.network.DiscoveryNetworkConnector$1
1833 instances of class org.apache.activemq.transport.InactivityMonitor
1833 instances of class org.apache.activemq.transport.InactivityMonitor$1
1833 instances of class org.apache.activemq.transport.InactivityMonitor$2
1833 instances of class org.apache.activemq.transport.WireFormatNegotiator
1833 instances of class org.apache.activemq.transport.tcp.TcpTransport
1833 instances of class org.apache.activemq.transport.vm.VMTransport
1833 instances of class org.apache.activemq.transport.vm.VMTransportServer$1
569 instances of class org.apache.activemq.transport.TransportDisposedIOException
445 instances of class org.mortbay.util.StringMap$Node
374 instances of class org.springframework.beans.GenericTypeAwarePropertyDescriptor
289 instances of class org.mortbay.io.BufferCache$CachedBuffer
179 instances of class org.apache.log4j.CategoryKey
152 instances of class [Lorg.mortbay.util.StringMap$Node;
130 instances of class org.mortbay.jetty.servlet.ServletHandler$CachedChain
113 instances of class org.apache.commons.logging.impl.Log4JLogger
113 instances of class org.apache.log4j.Logger
111 instances of class org.mortbay.io.ByteArrayBuffer
107 instances of class org.apache.activemq.util.ByteSequence
97 instances of class org.apache.activemq.transport.tcp.TcpBufferedInputStream
97 instances of class org.apache.activemq.transport.tcp.TcpBufferedOutputStream
85 instances of class $Proxy3
66 instances of class org.apache.log4j.ProvisionNode
63 instances of class org.apache.jasper.compiler.JspUtil$ValidAttribute
57 instances of class org.springframework.beans.MutablePropertyValues
57 instances of class org.springframework.beans.factory.config.ConstructorArgumentValues
57 instances of class org.springframework.beans.factory.support.MethodOverrides
56 instances of class org.springframework.beans.PropertyValue
55 instances of class org.apache.jasper.compiler.SmapStratum$LineInfo
51 instances of class org.apache.activemq.command.BrokerInfo
49 instances of class org.apache.activemq.command.ActiveMQTopic

-SNIP-

> Memory leak when there are network connector retries to an unavailable broker
> -----------------------------------------------------------------------------
>
>                 Key: AMQ-2448
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2448
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.0
>         Environment: Debian Linux 5.0 amd64 with included Sun Java 6 JRE
>            Reporter: Alexander Fisher
>            Assignee: Gary Tully
>         Attachments: activemq1.xml, activemq2.xml, activemq3.xml, activemq4.xml
>
>
> I've discovered a reproducible memory leak.  After discussion on IRC, it is believed
to be related to my network of brokers configuration.
> I have a total of 4 brokers configured on 4 hosts (activemq1,2,3,4).
> activemq1 and activemq2 are a shared filesystem master slave pair.  activemq3 and activemq4
are setup in a similar way as a master/slave pair.
> Only one of activemq1 and 2 will be active at a time, likewise only one of activemq3
and 4.
> Both activemq1 and activemq2 have a config with the following networkConnector.
> <networkConnectors>
>                 <networkConnector
>                         uri="static://(tcp://activemq3:61616,tcp://activemq4:61616)"
>                         name="Connection to 3 and 4"
>                         networkTTL="5"
>                         dynamicOnly="true"/>
> </networkConnectors>
> The broker will only be able to connect to either 3 or 4 as only one can be running at
a time.
> For obvious reasons, connecting to the slave will fail, but the connection attempt will
be retried every 30 seconds by default (more often on initial startup due to backoff algorithm).
> It is believed that the continuous reconnect attempts are the source of the memory leak.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message