You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2014/10/21 01:08:34 UTC

[jira] [Resolved] (AMQ-5396) Linkstealing causes deadlock when old client disconnects before link stealing adds the connection

     [ https://issues.apache.org/jira/browse/AMQ-5396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish resolved AMQ-5396.
-------------------------------
       Resolution: Fixed
    Fix Version/s: 5.11.0
         Assignee: Timothy Bish

Reviewed the patch a bit and it looks good.  The old context can be safely used outside the sync block as the stopAsync is thread safe and will only run once so if the owning connection closes first it will be fine.  I tweaked the patch a bit to avoid the log output when old context is null, as that would spam the logs.  

> Linkstealing causes deadlock when old client disconnects before link stealing adds the connection
> -------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-5396
>                 URL: https://issues.apache.org/jira/browse/AMQ-5396
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.11.0
>            Reporter: Sai
>            Assignee: Timothy Bish
>             Fix For: 5.11.0
>
>         Attachments: jstack.txt, linkstealing-deadlock.patch
>
>
> During link stealing in progress if the old client(or connection) issues a disconnect can cause a deadlock due the order in which the locks are obtained on RegionBroker.addConnection and TransportConnection.processRemoveConneciton.



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