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

Marina commented on AMQ-5109:
-----------------------------

We have checked ConnectionPerMessageTest and it shows the soft deadlock 
described in this bug. Although the use-case is bad in AMQ-4964, the deadlock 
is in the transport connection and it can affect performance in other usecases.
The debugger reveals that, one of the transports in VM transports pair needs 
the other one to stop. If the second thread is busy and the first thread 
manages to receive a write lock before the second one, then the second tread 
cannot shutdown, because it cannot acquire the lock. They both wait for each 
other until the specified timeout period elapses ( 1 second in 
runable.wait(timeout);). This problem is resolved when session gets closed. 

> "Soft deadlock" in TransportConnection causes degraded performance in certain 
> situations
> ----------------------------------------------------------------------------------------
>
>                 Key: AMQ-5109
>                 URL: https://issues.apache.org/jira/browse/AMQ-5109
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.9.0
>         Environment: HP-UX 11.31, RHEL 5/6. HP JDK 6/7, Oracle JDK 6/7
>            Reporter: Nikolay Martynov
>            Priority: Minor
>              Labels: patch
>         Attachments: TransportConnection.java.patch
>
>
> "Soft" deadlock occurres due to async stopping in case of starting/stopping 
> lots of client connections (using jms template with standard connection 
> factory, for example). ActiveMQ BrokerService gets frozen for 1 second trying 
> to acquire the lock. As a result, already poor performance in case of 
> unpooled connection factory further degrades by around 50%.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to