Hide Forgot
When creating a federation queue route (e.g. qpid-route queue add <dest> <src> <exchange> <queue>), if the <queue> does not exist in the source broker, the behavior of both qpid-route and qpidd are not ideal. qpid-route does not report an error, and qpidd for <src> only reports in /var/log/messages that a queue wasn't found. The <dest> broker never reports an error and everything appears to be ok when looking at qpid-route route map output, but the bridge is not valid. qpid-route doesn't report an error because the creation of the Bridge is asynchronous; it would have to do some delayed querying to determine that the Bridge wasn't created successfully, or something along those lines. Ideally we would like to see the Bridge creation code modified so multiple attempts are made to create the Bridge. In the end, we need the creation of the Bridge to succeed, either behind the scenes via multiple attempts, or up front with a qpid-route failure (that we could address) if the attempt to create the Bridge fails.
See https://issues.apache.org/jira/browse/QPID-3352 for details and proposed patch
Fixed upstream in revision 1145706 by Jason Dillaman.
Tested on RHEL6.4 (both i386 and x86_64). A federation queue route is capable of recovering if the source queue is created after the route creation. However, no changes for error-reporting aspect were introduced. Packages used for testing: python-qpid-0.22-4.el6 python-qpid-qmf-0.22-9.el6 qpid-cpp-client-0.22-11.el6 qpid-cpp-client-devel-0.22-11.el6 qpid-cpp-client-devel-docs-0.22-11.el6 qpid-cpp-client-ssl-0.22-11.el6 qpid-cpp-server-0.22-11.el6 qpid-cpp-server-devel-0.22-11.el6 qpid-cpp-server-ssl-0.22-11.el6 qpid-cpp-server-store-0.22-11.el6 qpid-cpp-server-xml-0.22-11.el6 qpid-java-client-0.22-5.el6 qpid-java-common-0.22-5.el6 qpid-java-example-0.22-5.el6 qpid-jca-0.18-8.el6 qpid-jca-xarecovery-0.18-8.el6 qpid-proton-c-0.4-2.2.el6 qpid-qmf-0.22-9.el6 qpid-tools-0.22-3.el6 rh-qpid-cpp-tests-0.22-11.el6 -> VERIFIED
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHEA-2014-1296.html