diff options
| author | Alan Conway <aconway@apache.org> | 2012-08-07 15:50:58 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2012-08-07 15:50:58 +0000 |
| commit | fe0dc0be930dcd341746f90dddf13e9595bc324a (patch) | |
| tree | dd92361be03735a8abb21ebc0738e47b8f1bf691 /cpp/src/qpid/ha | |
| parent | 00b41dc1991b61a10c20d1d83c1b5d910e735ba9 (diff) | |
| download | qpid-python-fe0dc0be930dcd341746f90dddf13e9595bc324a.tar.gz | |
NO-JIRA: HA only expect READY backups in recovery.
Don't wait for un-ready backups to become ready in recover, they weren't ready
before the failure so don't wait for them to become ready after a
failure. Waiting for READY backups gives us equivalent safety to before the
failure.
Minor test & log improvements.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1370325 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/ha')
| -rw-r--r-- | cpp/src/qpid/ha/Membership.cpp | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/ha/Membership.h | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/ha/Primary.cpp | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/cpp/src/qpid/ha/Membership.cpp b/cpp/src/qpid/ha/Membership.cpp index cc2906dd8f..74580f9b1e 100644 --- a/cpp/src/qpid/ha/Membership.cpp +++ b/cpp/src/qpid/ha/Membership.cpp @@ -66,7 +66,7 @@ types::Variant::List Membership::asList() const { BrokerInfo::Set Membership::otherBackups() const { BrokerInfo::Set result; for (BrokerInfo::Map::const_iterator i = brokers.begin(); i != brokers.end(); ++i) - if (isBackup(i->second.getStatus()) && i->second.getSystemId() != self) + if (i->second.getStatus() == READY && i->second.getSystemId() != self) result.insert(i->second); return result; } diff --git a/cpp/src/qpid/ha/Membership.h b/cpp/src/qpid/ha/Membership.h index 3bd8653a64..8406dccd5d 100644 --- a/cpp/src/qpid/ha/Membership.h +++ b/cpp/src/qpid/ha/Membership.h @@ -47,7 +47,7 @@ class Membership void add(const BrokerInfo& b); void remove(const types::Uuid& id); bool contains(const types::Uuid& id); - /** Return IDs of all backups other than self */ + /** Return IDs of all READY backups other than self */ BrokerInfo::Set otherBackups() const; void assign(const types::Variant::List&); diff --git a/cpp/src/qpid/ha/Primary.cpp b/cpp/src/qpid/ha/Primary.cpp index 45a0e246f3..4462d91062 100644 --- a/cpp/src/qpid/ha/Primary.cpp +++ b/cpp/src/qpid/ha/Primary.cpp @@ -201,6 +201,7 @@ void Primary::opened(broker::Connection& connection) { Mutex::ScopedLock l(lock); BackupMap::iterator i = backups.find(info.getSystemId()); if (i == backups.end()) { + QPID_LOG(debug, logPrefix << "New backup connected: " << info); boost::shared_ptr<RemoteBackup> backup( new RemoteBackup(info, haBroker.getReplicationTest(), true)); { @@ -209,7 +210,6 @@ void Primary::opened(broker::Connection& connection) { backup->setInitialQueues(haBroker.getBroker().getQueues(), false); } backups[info.getSystemId()] = backup; - QPID_LOG(debug, logPrefix << "New backup connected: " << info); } else { QPID_LOG(debug, logPrefix << "Known backup connected: " << info); |
