Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-6894

Excessive number of connections by failover transport with priorityBackup


    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.14.5
    • Fix Version/s: None
    • Component/s: Broker
    • Labels:


      My clients connect to AMQ with this connection string:


       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
      7-1516883370639-0_22 | org.apache.activemq.broker.jmx.ManagedTransportConnecti
      on | ActiveMQ Transport: tcp:///
      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:///
      2018-01-26 09:26:39,211 | WARN  | Transport Connection to: tcp:// 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:// 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


        1. activemq-part.zip
          18 kB
          Andrei Shakirin

          Issue Links



              • Assignee:
                jbonofre Jean-Baptiste Onofré
                ashakirin Andrei Shakirin
              • Votes:
                1 Vote for this issue
                4 Start watching this issue


                • Created: