Bug 699393

Summary: Queue route bridge creation silently fails if source queue does not exist
Product: Red Hat Enterprise MRG Reporter: Andy Goldstein <agoldste>
Component: qpid-cppAssignee: Ted Ross <tross>
Status: CLOSED ERRATA QA Contact: Leonid Zhaldybin <lzhaldyb>
Severity: unspecified Docs Contact:
Priority: high    
Version: 1.3CC: esammons, jdillama, jross, lzhaldyb, tross
Target Milestone: 3.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-server-0.14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-24 15:02:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 698367    

Description Andy Goldstein 2011-04-25 14:24:02 UTC
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.

Comment 1 Jason Dillaman 2011-07-12 15:55:00 UTC
See https://issues.apache.org/jira/browse/QPID-3352 for details and proposed patch

Comment 2 Ted Ross 2011-07-12 18:32:35 UTC
Fixed upstream in revision 1145706 by Jason Dillaman.

Comment 6 Leonid Zhaldybin 2013-08-19 11:16:06 UTC
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

Comment 8 errata-xmlrpc 2014-09-24 15:02:38 UTC
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