Description
My clients connect to AMQ with this connection string:
(tcp://amq1:61616,tcp://amq2:61616)?randomize=false&priorityBackup=true
It works - for some time. But sooner or later my AMQ server becomes unresponsive because the host it runs on runs out of resources (threads).
Suddenly AMQ Server log explodes with the messages like:
2018-01-26 09:26:16,909 | WARN | Failed to register MBean org.apache.activemq :type=Broker,brokerName=activemq-vm-primary,connector=clientConnectors,connect orName=default,connectionViewType=clientId,connectionName=ID_ca8f70e115d0-3708 7-1516883370639-0_22 | org.apache.activemq.broker.jmx.ManagedTransportConnecti on | ActiveMQ Transport: tcp:///172.10.7.56:55548@61616 2018-01-26 09:26:21,375 | WARN | Ignoring ack received before dispatch; result of failover with an outstanding ack. Acked messages will be replayed if present on this broker. Ignored ack: MessageAck \{commandId = 157, responseRequired = false, ackType = 2, consumerId = ID:ca8f70e115d0-37087-1516883370639-1:22:10:1, firstMessageId = ID:a95345a9c0df-33771-1516883685728-1:17:5:1:23, lastMessageId = ID:a95345a9c0df-33771-1516883685728-1:17:5:1:23, destination = queue://MY_QUEUE_OUT, transactionId = null, messageCount = 1, poisonCause = null} | org.apache.activemq.broker.region.PrefetchSubscription | ActiveMQ Transport: tcp:///172.16.6.56:55464@61616 2018-01-26 09:26:39,211 | WARN | Transport Connection to: tcp://172.10.6.56:55860 failed: java.net.SocketException: Connection reset | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ InactivityMonitor Worker 2018-01-26 09:26:47,175 | WARN | Transport Connection to: tcp://172.10.6.56:57012 failed: java.net.SocketException: Broken pipe (Write failed) | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ InactivityMonitor Worker
After short period of time AMQ server comes out of resources with "java.lang.OutOfMemoryError: unable to create new native thread" error. The AMQ service process in this case has a huge number of threads (some thousands)
The client side log contains a lot of reconnection attempts messages like:
2018-01-26 00:10:31,387 WARN [\{{bundle.name,org.apache.activemq.activemq-osgi}{bundle.version,5.14.1}\{bundle.id,181}}] [null] org.apache.activemq.transport.failover.FailoverTransport Failed to connect to [tcp://activemq-vm-primary:61616, tcp://activemq-vm-secondary:61616] after: 810 attempt(s) continuing to retry.
It seems that client creates a huge number of connections by failover retry and after some time kills the server.
Issue looks very similar to described in https://issues.apache.org/jira/browse/AMQ-6603, however server isn't configured with access control settings.
I found the description of similar problem into http://activemq.2283324.n4.nabble.com/ActiveMQ-5-2-OutOfMemoryError-unable-to-create-new-native-thread-td2366585.html, but without concrete suggestion.
Part of server log is attached
Attachments
Attachments
Issue Links
- links to