summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/ha/QueueReplicator.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2012-07-05 19:57:25 +0000
committerAlan Conway <aconway@apache.org>2012-07-05 19:57:25 +0000
commit9ab580f80bf757d5ef362d531dd61c1a715b8e2d (patch)
tree961618be9a7fb176bebbd1f11e8e083349a0bffb /cpp/src/qpid/ha/QueueReplicator.cpp
parentdbc5b2128daa9072c8cd186686078ca392edfb9b (diff)
downloadqpid-python-9ab580f80bf757d5ef362d531dd61c1a715b8e2d.tar.gz
QPID-4085: HA message-loss race condition, handling replication event after response.
If the backup broker receives a declare event for a queue after receiving a queue response for the same queue, it removes the queue and replaces it with the new one from the reponse. Previously it did not remove the corresponding bridge so things fail when we attempt to create it. Corrected to remove the bridge also. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1357846 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/ha/QueueReplicator.cpp')
-rw-r--r--cpp/src/qpid/ha/QueueReplicator.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/cpp/src/qpid/ha/QueueReplicator.cpp b/cpp/src/qpid/ha/QueueReplicator.cpp
index dbed7e1537..70dd91f57f 100644
--- a/cpp/src/qpid/ha/QueueReplicator.cpp
+++ b/cpp/src/qpid/ha/QueueReplicator.cpp
@@ -94,7 +94,7 @@ void QueueReplicator::activate() {
bridge = result.first;
}
-QueueReplicator::~QueueReplicator() {}
+QueueReplicator::~QueueReplicator() { deactivate(); }
void QueueReplicator::deactivate() {
// destroy the route