diff options
author | Alan Conway <aconway@apache.org> | 2014-04-07 15:39:19 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2014-04-07 15:39:19 +0000 |
commit | 8b0808b498dd5e3fe5e5d04e9e9c9492206036e2 (patch) | |
tree | 67583f2b579d2af50ca57184c047b556c4103a46 /qpid/cpp/src/qpid/ha/ReplicationTest.cpp | |
parent | 819e51ed19cb6f193d55a7894ca68c7131f00f07 (diff) | |
download | qpid-python-8b0808b498dd5e3fe5e5d04e9e9c9492206036e2.tar.gz |
QPID-5666: HA fails with resource-limit-exceeded: Exceeded replicated queue limit
This is regression introduced in r1561206: CommitDate: Fri Jan 24 21:54:59 2014 +0000
QPID-5513: HA backup fails if number of replicated queues exceeds number of channels.
Fixed by the current commit. PrimaryQueueLimits was not taking account of queues already
on the broker prior to promotion.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1585507 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qpid/ha/ReplicationTest.cpp')
-rw-r--r-- | qpid/cpp/src/qpid/ha/ReplicationTest.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/qpid/cpp/src/qpid/ha/ReplicationTest.cpp b/qpid/cpp/src/qpid/ha/ReplicationTest.cpp index 647523ef2c..d2152363fe 100644 --- a/qpid/cpp/src/qpid/ha/ReplicationTest.cpp +++ b/qpid/cpp/src/qpid/ha/ReplicationTest.cpp @@ -29,20 +29,20 @@ namespace ha { using types::Variant; -ReplicateLevel ReplicationTest::getLevel(const std::string& str) { +ReplicateLevel ReplicationTest::getLevel(const std::string& str) const { Enum<ReplicateLevel> rl(replicateDefault); if (!str.empty()) rl.parse(str); return rl.get(); } -ReplicateLevel ReplicationTest::getLevel(const framing::FieldTable& f) { +ReplicateLevel ReplicationTest::getLevel(const framing::FieldTable& f) const { if (f.isSet(QPID_REPLICATE)) return getLevel(f.getAsString(QPID_REPLICATE)); else return replicateDefault; } -ReplicateLevel ReplicationTest::getLevel(const Variant::Map& m) { +ReplicateLevel ReplicationTest::getLevel(const Variant::Map& m) const { Variant::Map::const_iterator i = m.find(QPID_REPLICATE); if (i != m.end()) return getLevel(i->second.asString()); @@ -50,7 +50,7 @@ ReplicateLevel ReplicationTest::getLevel(const Variant::Map& m) { return replicateDefault; } -ReplicateLevel ReplicationTest::getLevel(const broker::Queue& q) { +ReplicateLevel ReplicationTest::getLevel(const broker::Queue& q) const { const Variant::Map& qmap(q.getSettings().original); Variant::Map::const_iterator i = qmap.find(QPID_REPLICATE); if (i != qmap.end()) @@ -59,16 +59,15 @@ ReplicateLevel ReplicationTest::getLevel(const broker::Queue& q) { return getLevel(q.getSettings().storeSettings); } -ReplicateLevel ReplicationTest::getLevel(const broker::Exchange& ex) { +ReplicateLevel ReplicationTest::getLevel(const broker::Exchange& ex) const { return getLevel(ex.getArgs()); } -ReplicateLevel ReplicationTest::useLevel(const broker::Queue& q) -{ +ReplicateLevel ReplicationTest::useLevel(const broker::Queue& q) const { return q.getSettings().isTemporary ? ReplicationTest(NONE).getLevel(q) : getLevel(q); } -ReplicateLevel ReplicationTest::useLevel(const broker::Exchange& ex) { +ReplicateLevel ReplicationTest::useLevel(const broker::Exchange& ex) const { return ReplicationTest::getLevel(ex); } |