summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2011-04-19 20:55:50 +0000
committerAlan Conway <aconway@apache.org>2011-04-19 20:55:50 +0000
commit6cef2f18cd6d3afe91e74ea0f51fec753c4e9790 (patch)
treed40822bd86052a07f80481a4320acc4d2ec0e8a1
parent66cee7ffbfdd56d2bd679282984e56900fc23ff6 (diff)
downloadqpid-python-6cef2f18cd6d3afe91e74ea0f51fec753c4e9790.tar.gz
QPID-3217: Exchanges with IVE option cause cluster inconsistencies in updatees
Since this option is rarely used, the short term fix is to disallow IVE in a cluster. This is not a regression since it didn't work anyway. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1095209 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qpid/broker/Exchange.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/Exchange.cpp b/qpid/cpp/src/qpid/broker/Exchange.cpp
index 6144f4f87f..622cc81002 100644
--- a/qpid/cpp/src/qpid/broker/Exchange.cpp
+++ b/qpid/cpp/src/qpid/broker/Exchange.cpp
@@ -201,7 +201,11 @@ Exchange::Exchange(const string& _name, bool _durable, const qpid::framing::Fiel
}
ive = _args.get(qpidIVE);
- if (ive) QPID_LOG(debug, "Configured exchange " << _name << " with Initial Value");
+ if (ive) {
+ if (broker && broker->isInCluster())
+ throw framing::NotImplementedException("Cannot use Initial Value Exchanges in a cluster");
+ QPID_LOG(debug, "Configured exchange " << _name << " with Initial Value");
+ }
}
Exchange::~Exchange ()