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

Murali Mogalayapalli commented on AMQ-4955:
-------------------------------------------

Attached the unit test both for the TCP and SSL. Tested on 5.9 too with no 
success.
The fix I have proposed to TransportConnection:ProcessDispatch catch block to 
add these lines of code at the beginning fixes only TCP problem.

         boolean isBrokerInfo=command.isBrokerInfo();
         if(isBrokerInfo)
                 throw e;
Please suggest any alternative ideas that fixes both for all the transports, I 
can try coding that.

> TCP Connections and related thread leak.
> ----------------------------------------
>
>                 Key: AMQ-4955
>                 URL: https://issues.apache.org/jira/browse/AMQ-4955
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.8.0
>         Environment: Windows 2008 R2, Jdk 1.7.40
>            Reporter: Murali Mogalayapalli
>         Attachments: AMQ4955Test.java, TCP-Connection.jpg, ThreadStack.jpg, 
> activemq.xml
>
>
> TCP Connections and related thread leak.
> Scenario
> Active MQ version 5.8
> NMS Client version 1.6
> OS - Windows 2008 R2
> JDK - 1.7.x
> activemq.xml is attached
> If a client connectivity gets lost between the time the initial socket is 
> created and the exchange of the wire format, the active MQ server's Client's 
> server thread gets blocked in socket read hanging out the TCP connection and 
> the related thread
> Here are the steps to recreate
> 1. Configure the Active MQ server with the activemq.xml attached.
> 2. Start the client in a debugger and have a break point at a place in such a 
> way that the client can be disconnected after the socket is established.
> 3. Once the breakpoint is hit, disconnect the client machine from the network
> 4. Kill the client- This basically simulates a situation where the socket 
> tear down packets are not reached the active mq server.
> 5. Open the JConsole. Look for the hanging TCP connection and the related 
> thread.
> Is there an configurable option in Active MQ to sweep and close the 
> connections, on regular interval, that still didn't finish the wire protocol 
> negotiation?



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to