-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4846/
-----------------------------------------------------------
(Updated 2012-04-26 19:19:31.447871)
Review request for qpid, Alan Conway and Gordon Sim.
Changes
-------
This patch should be final - I've got more testing to do and that might result
in some changes, but consider this my solution for QPID-3963.
I also will be adding a unit test to verify the fix, but that is TBD.
In summary:
1) Each broker Link attempts to subscribe to the amq.failover exchange on the
remote
2) The set of failover URLs learned from the remote are replicated on the local
cluster when a new member is added.
I've also tried to apply most of the comments from the last review.
Thanks, -K
Summary
-------
Still a WIP, but I wanted early feedback as I'm not too experienced with the
subscription management code involved (completely stolen from Alan).
This patch allows the Link to subscribe to the remote broker's amq.failover
exchange - if it exists. This allows the Link to be updated dynamically should
the remote broker be part of a cluster, and the cluster membership changes.
Light testing against a cluster confirms that this patch fixes qpid-3963.
Testing against a non-cluster remote causes the remote to log the following
error, but otherwise behaves ok:
2012-04-23 16:45:27 error Execution exception: not-found: Exchange not found:
amq.failover (../../../qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp:101)
This addresses bug qpid-3963.
https://issues.apache.org/jira/browse/qpid-3963
Diffs (updated)
-----
/trunk/qpid/cpp/xml/cluster.xml 1329301
/trunk/qpid/cpp/src/qpid/cluster/Connection.h 1329301
/trunk/qpid/cpp/src/qpid/cluster/Connection.cpp 1329301
/trunk/qpid/cpp/src/qpid/cluster/UpdateClient.cpp 1329301
/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp 1329301
/trunk/qpid/cpp/src/qpid/broker/Link.cpp 1329301
/trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp 1329301
/trunk/qpid/cpp/src/qpid/broker/Link.h 1329301
Diff: https://reviews.apache.org/r/4846/diff
Testing
-------
minimal.
Thanks,
Kenneth