You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2016/06/22 17:21:57 UTC

[jira] [Commented] (AMQ-6334) ActiveMQConnection triggered heap space out of memory error when used with org.apache.activemq.network.SimpleJmsQueueConnector

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

Timothy Bish commented on AMQ-6334:
-----------------------------------

Seems like the SimpleJmsQueueConnector and SimpleJmsTopicConnector are the issue here, the init methods need to handle the case of an exception being thrown and closing the newConnection instance before exiting when an exception is thrown.  

> ActiveMQConnection triggered heap space out of memory error when used with org.apache.activemq.network.SimpleJmsQueueConnector
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-6334
>                 URL: https://issues.apache.org/jira/browse/AMQ-6334
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, JMS client
>    Affects Versions: 5.12.1
>         Environment: WebLogic v10.3.6, HotSpot 64bit JVM 1.7.0_71
>            Reporter: Ben Nisbet
>             Fix For: NEEDS_REVIEW
>
>         Attachments: ActiveMQConnectionMemoryLeakTest.java, PatchedActiveMQConnection.java
>
>
> 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?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)