| Summary: | Deleting a queue with an alternate exchange can cause infinite loop | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Chris Pitman <christopher.pitman> | ||||
| Component: | qpid-cpp | Assignee: | Gordon Sim <gsim> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Petr Matousek <pematous> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 1.3 | CC: | freznice, gsim, jross, pematous | ||||
| Target Milestone: | 2.0 | ||||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | qpid-cpp-0.9.1079953 | Doc Type: | Bug Fix | ||||
| Doc Text: |
Cause:
The bindings for a queue were removed after attempting to reroute any orphaned messages.
Consequence:
If orphaned messages were reroute to an exchange to which the queue itself was bound, an infinite loop would result.
Fix:
Remove the bindings for a deleted queue before routing orphaned messages.
Result:
No infinite loop results as there is no longer a binding back to the original queue when the messages are rerouted.
|
Story Points: | --- | ||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2011-06-23 15:43:22 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
|
Description
Chris Pitman
2011-02-21 22:21:36 UTC
Created attachment 480010 [details]
Test case
Test added upstream in r1076604. Already fixed on trunk as a result of refactoring in r1072179.
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
Cause:
The bindings for a queue were removed after attempting to reroute any orphaned messages.
Consequence:
If orphaned messages were reroute to an exchange to which the queue itself was bound, an infinite loop would result.
Fix:
Remove the bindings for a deleted queue before routing orphaned messages.
Result:
No infinite loop results as there is no longer a binding back to the original queue when the messages are rerouted.
This issue has been fixed Verified on RHEL4.9, RHEL5.6 and RHEL6.1, architectures: i386, x86_64 packages installed: python-qpid-0.10-1.el5 python-qpid-qmf-0.10-6.el5 qpid-cpp-client-0.10-4.el5 qpid-cpp-client-devel-0.10-4.el5 qpid-cpp-client-devel-docs-0.10-4.el5 qpid-cpp-client-ssl-0.10-4.el5 qpid-cpp-mrg-debuginfo-0.10-4.el5 qpid-cpp-server-0.10-4.el5 qpid-cpp-server-cluster-0.10-4.el5 qpid-cpp-server-devel-0.10-4.el5 qpid-cpp-server-ssl-0.10-4.el5 qpid-cpp-server-store-0.10-4.el5 qpid-cpp-server-xml-0.10-4.el5 qpid-java-client-0.10-4.el5 qpid-java-common-0.10-4.el5 qpid-java-example-0.10-4.el5 qpid-java-jca-0.10-4.el5 qpid-qmf-0.10-2.el5 qpid-qmf-0.10-6.el5 qpid-qmf-devel-0.10-2.el5 qpid-qmf-devel-0.10-6.el5 qpid-tools-0.10-4.el5 -> VERIFIED An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHEA-2011-0890.html |