Tell a little more about your consumers.Are they getting blocked up? How often are you creating destinations/temp destinations? I don't see a network of brokers in this config... you're not using any, right?
On Fri, Feb 28, 2014 at 11:30 AM, jmachina <[email protected]> wrote: > Experiencing a recurring issue with our activeMQ broker, where it will stop > servicing new connections (any new connection from the client side hangs on > establishing a connection). Thread dump attached, and a small selection of > the dump pasted below. Our configuration is also listed below (and > attached). > > > <beans > xmlns="http://www.springframework.org/schema/beans" > xmlns:amq="http://activemq.apache.org/schema/core" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd > http://activemq.apache.org/schema/core > http://activemq.apache.org/schema/core/activemq-core.xsd"> > > <bean > class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> > <property name="locations"> > <value>file:${activemq.conf}/credentials.properties</value> > </property> > </bean> > > <broker xmlns="http://activemq.apache.org/schema/core" brokerName="main" > dataDirectory="${activemq.data}" offlineDurableSubscriberTimeout="86400000" > offlineDurableSubscriberTaskSchedule="21600000"> > > <destinationPolicy> > <policyMap> > <policyEntries> > <policyEntry topic=">" producerFlowControl="false" > advisoryForSlowConsumers="true" > advisoryForFastProducers="true" > advisoryWhenFull="true" > memoryLimit="4096mb"> > > <dispatchPolicy> > <simpleDispatchPolicy/> > </dispatchPolicy> > > <pendingMessageLimitStrategy> > > <constantPendingMessageLimitStrategy limit="10000"/> > </pendingMessageLimitStrategy> > > <messageEvictionStrategy> > <oldestMessageEvictionStrategy/> > </messageEvictionStrategy> > </policyEntry> > > <policyEntry queue=">" > producerFlowControl="false" > optimizedDispatch="true" > useCache="false" > memoryLimit="4096mb"> > <pendingMessageLimitStrategy> > > <constantPendingMessageLimitStrategy limit="10000"/> > </pendingMessageLimitStrategy> > > > <messageEvictionStrategy> > <oldestMessageEvictionStrategy/> > </messageEvictionStrategy> > </policyEntry> > > <policyEntry topic=">" tempTopic="true" > producerFlowControl="false" > advisoryForSlowConsumers="true" > advisoryForFastProducers="true" > advisoryWhenFull="true" > memoryLimit="4096mb"> > </policyEntry> > > <policyEntry queue=">" tempQueue="true" > producerFlowControl="false" > optimizedDispatch="true" > useCache="false" > advisoryForSlowConsumers="true" > advisoryForFastProducers="true" > advisoryWhenFull="true" > memoryLimit="4096mb"> > </policyEntry> > </policyEntries> > </policyMap> > </destinationPolicy> > > <managementContext> > <managementContext createConnector="true" connectorPort="1099" > rmiServerPort="1199"/> > </managementContext> > > <persistenceAdapter> > <kahaDB directory="${activemq.data}/kahadb-main"/> > </persistenceAdapter> > > <systemUsage> > <systemUsage> > <memoryUsage> > <memoryUsage limit="8 gb"/> > </memoryUsage> > <storeUsage> > <storeUsage limit="20 gb"/> > </storeUsage> > <tempUsage> > <tempUsage limit="50 gb"/> > </tempUsage> > </systemUsage> > </systemUsage> > > <transportConnectors> > <transportConnector name="main-openwire" > uri="tcp://0.0.0.0:61616"/> > </transportConnectors> > > <shutdownHooks> > <bean xmlns="http://www.springframework.org/schema/beans" > class="org.apache.activemq.hooks.SpringContextHook" /> > </shutdownHooks> > > </broker> > <import resource="jetty-main.xml"/> > </beans> > > > Selection of thread dumps: > "ActiveMQ Transport: tcp:///10.0.1.229:51552@61616" - Thread t@1545 > java.lang.Thread.State: RUNNABLE > at java.net.SocketOutputStream.socketWrite0(Native Method) > at java.net.SocketOutputStream.socketWrite(Unknown Source) > at java.net.SocketOutputStream.write(Unknown Source) > at > org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:115) > at java.io.DataOutputStream.flush(Unknown Source) > at > org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:176) > at > org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:304) > at > org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:286) > at > org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85) > at > org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104) > at > org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68) > at > org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1339) > at > org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:858) > at > org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:818) > at > org.apache.activemq.broker.region.TopicSubscription.dispatch(TopicSubscription.java:611) > at > org.apache.activemq.broker.region.TopicSubscription.add(TopicSubscription.java:112) > at > org.apache.activemq.broker.region.policy.SimpleDispatchPolicy.dispatch(SimpleDispatchPolicy.java:48) > at org.apache.activemq.broker.region.Topic.dispatch(Topic.java:705) > at > org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:504) > - locked <6f8e78f0> (a org.apache.activemq.broker.region.Topic) > at org.apache.activemq.broker.region.Topic.send(Topic.java:440) > at > org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:394) > at > org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:442) > at > org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:283) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:585) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:516) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:511) > at > org.apache.activemq.advisory.AdvisoryBroker.addDestinationInfo(AdvisoryBroker.java:206) > at > org.apache.activemq.broker.BrokerFilter.addDestinationInfo(BrokerFilter.java:257) > at > org.apache.activemq.broker.BrokerFilter.addDestinationInfo(BrokerFilter.java:257) > at > org.apache.activemq.broker.MutableBrokerFilter.addDestinationInfo(MutableBrokerFilter.java:262) > at > org.apache.activemq.broker.TransportConnection.processAddDestination(TransportConnection.java:495) > at > org.apache.activemq.command.DestinationInfo.visit(DestinationInfo.java:122) > at > org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292) > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:149) > at > org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) > at > org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) > at > org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270) > at > org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) > at java.lang.Thread.run(Unknown Source) > > Locked ownable synchronizers: > - locked <6c833519> (a > java.util.concurrent.locks.ReentrantLock$NonfairSync) > > "ActiveMQ Transport: tcp:///10.0.1.229:51551@61616" - Thread t@1544 > java.lang.Thread.State: BLOCKED > at > org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:459) > - waiting to lock <6f8e78f0> (a > org.apache.activemq.broker.region.Topic) > owned by "ActiveMQ Transport: tcp:///10.0.1.229:51552@61616" t@1545 > at org.apache.activemq.broker.region.Topic.send(Topic.java:440) > at > org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:394) > at > org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:442) > at > org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:283) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:585) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:516) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:511) > at > org.apache.activemq.advisory.AdvisoryBroker.addDestinationInfo(AdvisoryBroker.java:206) > at > org.apache.activemq.broker.BrokerFilter.addDestinationInfo(BrokerFilter.java:257) > at > org.apache.activemq.broker.BrokerFilter.addDestinationInfo(BrokerFilter.java:257) > at > org.apache.activemq.broker.MutableBrokerFilter.addDestinationInfo(MutableBrokerFilter.java:262) > at > org.apache.activemq.broker.TransportConnection.processAddDestination(TransportConnection.java:495) > at > org.apache.activemq.command.DestinationInfo.visit(DestinationInfo.java:122) > at > org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292) > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:149) > at > org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) > at > org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) > at > org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270) > at > org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) > at java.lang.Thread.run(Unknown Source) > > Locked ownable synchronizers: > - None > > "ActiveMQ BrokerService[main] Task-374" - Thread t@1906 > java.lang.Thread.State: BLOCKED > at > org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:459) > - waiting to lock <6f8e78f0> (a > org.apache.activemq.broker.region.Topic) > owned by "ActiveMQ Transport: tcp:///10.0.1.229:51552@61616" t@1545 > at org.apache.activemq.broker.region.Topic.send(Topic.java:440) > at > org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:394) > at > org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:442) > at > org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:283) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:585) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:516) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:511) > at > org.apache.activemq.advisory.AdvisoryBroker.removeDestination(AdvisoryBroker.java:221) > at > org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilter.java:172) > at > org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilter.java:172) > at > org.apache.activemq.broker.MutableBrokerFilter.removeDestination(MutableBrokerFilter.java:177) > at > org.apache.activemq.broker.TransportConnection.processRemoveConnection(TransportConnection.java:779) > - locked <6f39a3be> (a > org.apache.activemq.broker.jmx.ManagedTransportConnection) > at > org.apache.activemq.broker.TransportConnection.doStop(TransportConnection.java:1107) > at > org.apache.activemq.broker.TransportConnection$4.run(TransportConnection.java:1037) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > > Locked ownable synchronizers: > - locked <312d47fe> (a > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync) > > - locked <1556e994> (a java.util.concurrent.ThreadPoolExecutor$Worker) > > "ActiveMQ BrokerService[main] Task-396" - Thread t@1959 > java.lang.Thread.State: TIMED_WAITING > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <6eb8ca36> (a > java.util.concurrent.SynchronousQueue$TransferStack) > at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) > at > java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown > Source) > at > java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown > Source) > at java.util.concurrent.SynchronousQueue.poll(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > > Locked ownable synchronizers: > - None > > "ActiveMQ Transport: tcp:///10.0.1.202:59370@61616" - Thread t@1498 > java.lang.Thread.State: RUNNABLE > at java.net.SocketInputStream.socketRead0(Native Method) > at java.net.SocketInputStream.read(Unknown Source) > at java.net.SocketInputStream.read(Unknown Source) > at > org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50) > at > org.apache.activemq.transport.tcp.TcpTransport$2.fill(TcpTransport.java:604) > at > org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58) > at > org.apache.activemq.transport.tcp.TcpTransport$2.read(TcpTransport.java:589) > at java.io.DataInputStream.readInt(Unknown Source) > at > org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275) > at > org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:221) > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:213) > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) > at java.lang.Thread.run(Unknown Source) > > Locked ownable synchronizers: > - None > > > > threaddump-1393608740161.tdump > <http://activemq.2283324.n4.nabble.com/file/n4678423/threaddump-1393608740161.tdump> > activemq.xml > <http://activemq.2283324.n4.nabble.com/file/n4678423/activemq.xml> > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Deadlock-on-broker-thread-dumps-included-tp4678423.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. -- Christian Posta http://www.christianposta.com/blog twitter: @christianposta
