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

ActiveMQConnection triggered heap space out of memory error when used with org.apache.activemq.network.SimpleJmsQueueConnector

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.12.1
    • 5.13.4, 5.14.0
    • Broker, JMS client
    • None
    • WebLogic v10.3.6, HotSpot 64bit JVM 1.7.0_71

    Description

      This defect was identified when proxying an outbound queue bridge's foreign connection through a load balancer with no available cluster nodes and is reported in the ActiveMQ broker log file with following DEBUG level event message:

      DEBUG 2016-June-22 15:54:25,165 JmsConnector:627 - Failed to establish initial [foreign, 24388] connection for JmsConnector [javax.jms.JMSException: Cannot send, channel has already failed: tcp://0.0.0.0:61616]

      In ActiveMQ v5.12.1 release this is triggered by a ConnectionFailedException being thrown on line 190 of class org.apache.activemq.network.SimpleJmsQueueConnector and can be replicated by running the attached JUnit test.

      Attached ActiveMQConnection subclass ensures that resource clean up is performed if any exception is thrown during an invocation of the start() method. Consequently instances are eligible for garbage collection if the underlying TCP connection is successfully established by constructor and then reset by peer before the connection is put into service.

      Is it possible to include this behaviour within the ActiveMQConnection class itself in future release?

      Attachments

        1. ActiveMQConnectionMemoryLeakTest.java
          4 kB
          Ben Nisbet
        2. PatchedActiveMQConnection.java
          0.8 kB
          Ben Nisbet

        Activity

          People

            tabish Timothy A. Bish
            ben_nisbet Ben Nisbet
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: