summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2013-03-07 17:25:47 +0000
committerAlan Conway <aconway@apache.org>2013-03-07 17:25:47 +0000
commitd1a74e579f1c61afe7485e3f42767502d43f7623 (patch)
tree1f094812ed4bfe7dd9b9ecb0b38b3386c7018f44 /cpp/src/qpid/broker/Queue.cpp
parentb4de4600d0be955c7ed27e890b82f58129607cc3 (diff)
downloadqpid-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.cpp4
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());
}