diff options
| author | Alan Conway <aconway@apache.org> | 2012-07-17 17:39:54 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2012-07-17 17:39:54 +0000 |
| commit | b1a46db3269e1060a451e2e03ab38d73b3bdc55f (patch) | |
| tree | aa2142ee156edfd02e23bf36578e654b9b7033bf /cpp/bindings | |
| parent | 5f36d6599e6db9f03051bb92ecfac76c2d2cdcaa (diff) | |
| download | qpid-python-b1a46db3269e1060a451e2e03ab38d73b3bdc55f.tar.gz | |
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.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1362584 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/bindings')
0 files changed, 0 insertions, 0 deletions
