summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/JoiningHandler.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-09-26 19:22:00 +0000
committerAlan Conway <aconway@apache.org>2008-09-26 19:22:00 +0000
commit44366590caa13db09e55e2c853bd66b363558fa7 (patch)
treee6ecd10c956fee5f5e865670911ea9ef46e1ed76 /cpp/src/qpid/cluster/JoiningHandler.cpp
parentb22dd47558cc11572d080ac25808012092dda597 (diff)
downloadqpid-python-44366590caa13db09e55e2c853bd66b363558fa7.tar.gz
cluster:]
- call updateMemberStats() exactly once for each change in cluster membership. - fix spurious replication of catch-up connection close events. Removed unused client/MessageQueue.h git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@699456 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/JoiningHandler.cpp')
-rw-r--r--cpp/src/qpid/cluster/JoiningHandler.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/cpp/src/qpid/cluster/JoiningHandler.cpp b/cpp/src/qpid/cluster/JoiningHandler.cpp
index 664a8b38cd..8a05068796 100644
--- a/cpp/src/qpid/cluster/JoiningHandler.cpp
+++ b/cpp/src/qpid/cluster/JoiningHandler.cpp
@@ -55,10 +55,8 @@ void JoiningHandler::deliver(Event& e) {
void JoiningHandler::update(const MemberId&, const framing::FieldTable& members, uint64_t dumper) {
Mutex::ScopedLock l(cluster.lock);
- cluster.map.update(members, dumper);
- QPID_LOG(debug, "Cluster update: " << cluster.map);
+ if (cluster.map.update(members, dumper)) cluster.updateMemberStats();
checkDumpRequest();
- cluster.updateMemberStats();
}
void JoiningHandler::checkDumpRequest() {
@@ -99,9 +97,10 @@ void JoiningHandler::dumpRequest(const MemberId& dumpee, const std::string& ) {
}
}
-void JoiningHandler::ready(const MemberId& id, const std::string& url) {
+void JoiningHandler::ready(const MemberId& id, const std::string& urlStr) {
Mutex::ScopedLock l(cluster.lock);
- cluster.map.ready(id, Url(url));
+ if (cluster.map.ready(id, Url(urlStr)))
+ cluster.updateMemberStats();
checkDumpRequest();
}