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

Alan Conway resolved QPID-4144.
-------------------------------

    Resolution: Fixed

On 0.18 branch:
------------------------------------------------------------------------
r1363486 | aconway | 2012-07-19 15:16:12 -0400 (Thu, 19 Jul 2012) | 10 lines

QPID-4144 HA broker deadlocks on broker::QueueRegistry lock and ha::Primary lock

Running tests repeatedly, the broker deadlocked with the attached stack trace.

The problem call sequences are:
1. QueueRegistry::destroy takes QueuerRegistry lock > 
ConfigurationObserver::queueDestroy > ha::Primary::queueDestroy takes Primary 
lock.
2. ConnectionObserver::opened cals Primary::opened lock> 
RemoteBackup>getQueues().eachQueue

This patch breaks the deadlock at both ends: QueueRegistry no longer holds the 
lock across the observer call and Primary does not hold the lock across 
eachQueue.

                
> HA broker deadlocks on broeker::QueueRegistry lock and ha::Primary lock
> -----------------------------------------------------------------------
>
>                 Key: QPID-4144
>                 URL: https://issues.apache.org/jira/browse/QPID-4144
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Clustering
>    Affects Versions: 0.17
>            Reporter: Alan Conway
>            Assignee: Alan Conway
>             Fix For: 0.18
>
>         Attachments: thread-dump.txt
>
>
> Running tests repeatedly, the broker deadlocked with the attached stack trace.
> The problem call sequences are:
> 1. QueueRegistry::destroy takes QueuerRegistry lock > 
> ConfigurationObserver::queueDestroy > ha::Primary::queueDestroy takes Primary 
> lock.
> 2. ConnectionObserver::opened cals Primary::opened lock> 
> RemoteBackup>getQueues().eachQueue
> This patch breaks the deadlock at both ends: QueueRegistry no longer holds 
> the lock across the observer call and Primary does not hold the lock across 
> eachQueue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to