diff options
| author | Alan Conway <aconway@apache.org> | 2010-07-01 19:19:48 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2010-07-01 19:19:48 +0000 |
| commit | 5f36276fe8a665c587dcc1f2d49f0adfb47984e7 (patch) | |
| tree | 49b1de86eb37b356f8ef212e450d3ee3dc6d2486 /cpp/src/qpid | |
| parent | 48f7ecda226f9cfdb53ffb20695403046401f06a (diff) | |
| download | qpid-python-5f36276fe8a665c587dcc1f2d49f0adfb47984e7.tar.gz | |
Fix spordic failure in cluster_test testConnectionKnownHosts.
Very occasional failure of the form:
cluster_test.cpp(547): error in "testConnectionKnownHosts": check kb0 == kb2 failed [42179 57640 != 44199 57640 ] ])
Fix is to avoid using possibly out-of-date initial-brokers data from the connection.
Only rely on updates received from the amq.failover exchange.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@959751 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid')
| -rw-r--r-- | cpp/src/qpid/client/FailoverListener.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/cpp/src/qpid/client/FailoverListener.cpp b/cpp/src/qpid/client/FailoverListener.cpp index 3396f5598c..bf4fa91d49 100644 --- a/cpp/src/qpid/client/FailoverListener.cpp +++ b/cpp/src/qpid/client/FailoverListener.cpp @@ -33,8 +33,16 @@ FailoverListener::FailoverListener(Connection c) : connection(c), session(c.newSession(AMQ_FAILOVER+"."+framing::Uuid(true).str())), subscriptions(session) -{ - knownBrokers = c.getInitialBrokers(); +{ init(true); } + +FailoverListener::FailoverListener(Connection c, bool useInitial) : + connection(c), + session(c.newSession(AMQ_FAILOVER+"."+framing::Uuid(true).str())), + subscriptions(session) +{ init(useInitial); } + +void FailoverListener::init(bool useInitial) { + if (useInitial) knownBrokers = connection.getInitialBrokers(); if (session.exchangeQuery(arg::name=AMQ_FAILOVER).getNotFound()) { session.close(); return; |
