diff options
| author | Alan Conway <aconway@apache.org> | 2013-03-07 17:25:47 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2013-03-07 17:25:47 +0000 |
| commit | d1a74e579f1c61afe7485e3f42767502d43f7623 (patch) | |
| tree | 1f094812ed4bfe7dd9b9ecb0b38b3386c7018f44 /cpp/src/qpid/broker/Queue.cpp | |
| parent | b4de4600d0be955c7ed27e890b82f58129607cc3 (diff) | |
| download | qpid-python-d1a74e579f1c61afe7485e3f42767502d43f7623.tar.gz | |
QPID-4630: HA Fix starting from persistent store.
This was implemented in r1390123 but broken by subsequent changes.
When re-starting a persistent HA cluster, the broker that becomes primary keeps
its recovered queues while backup brokers discard their recovered queues and
catch up from the primary.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1453971 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Queue.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/Queue.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/Queue.cpp b/cpp/src/qpid/broker/Queue.cpp index 81e26d0b48..91b497c57b 100644 --- a/cpp/src/qpid/broker/Queue.cpp +++ b/cpp/src/qpid/broker/Queue.cpp @@ -1587,7 +1587,9 @@ void Queue::UsageBarrier::destroy() } void Queue::addArgument(const string& key, const types::Variant& value) { - settings.original.insert(types::Variant::Map::value_type(key, value)); + settings.original[key] = value; + qpid::amqp_0_10::translate(settings.asMap(), encodableSettings); + settings.storeSettings.set(key, qpid::amqp_0_10::fieldValue(value)); if (mgmtObject != 0) mgmtObject->set_arguments(settings.asMap()); } |
