summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/Cluster.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2010-02-02 15:47:41 +0000
committerAlan Conway <aconway@apache.org>2010-02-02 15:47:41 +0000
commit3a75d755f87a495ae02bdf69af6723c62584b190 (patch)
treee743dad1695c753465aefb55c12d0a162976968d /cpp/src/qpid/cluster/Cluster.cpp
parent21e39f778986321e7477f26b24f949fb798b58b4 (diff)
downloadqpid-python-3a75d755f87a495ae02bdf69af6723c62584b190.tar.gz
Cluster: fix update of failover exchange.
During update the cluster was sending an extra update to the failover exchange. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@905676 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/Cluster.cpp')
-rw-r--r--cpp/src/qpid/cluster/Cluster.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/cpp/src/qpid/cluster/Cluster.cpp b/cpp/src/qpid/cluster/Cluster.cpp
index 3a6c902d29..8eda6c1949 100644
--- a/cpp/src/qpid/cluster/Cluster.cpp
+++ b/cpp/src/qpid/cluster/Cluster.cpp
@@ -826,7 +826,7 @@ void Cluster::checkUpdateIn(Lock& l) {
if (state != UPDATEE) return; // Wait till we reach the stall point.
if (updatedMap) { // We're up to date
map = *updatedMap;
- memberUpdate(l);
+ failoverExchange->setUrls(getUrls(l));
mcast.mcastControl(ClusterReadyBody(ProtocolVersion(), myUrl.str()), self);
state = CATCHUP;
broker.setClusterUpdatee(false);
@@ -908,9 +908,9 @@ void Cluster::memberUpdate(Lock& l) {
std::vector<Url> urls = getUrls(l);
std::vector<string> ids = getIds(l);
size_t size = urls.size();
- failoverExchange->setUrls(urls);
+ failoverExchange->updateUrls(urls);
- if (size == 1 && lastSize > 1 && state >= CATCHUP) {
+ if (size == 1 && lastSize > 1 && state >= CATCHUP) {
QPID_LOG(notice, *this << " last broker standing, update queue policies");
lastBroker = true;
broker.getQueues().updateQueueClusterState(true);