Bug 1122857 - ambiguous nodes: queue is not created if the exchange of the same name exists
Summary: ambiguous nodes: queue is not created if the exchange of the same name exists
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: python-qpid
Version: Development
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: ---
Assignee: Gordon Sim
QA Contact: Petr Matousek
Depends On:
TreeView+ depends on / blocked
Reported: 2014-07-24 08:48 UTC by Petr Matousek
Modified: 2014-09-24 15:12 UTC (History)
4 users (show)

Fixed In Version: python-qpid-0.22-17
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-09-24 15:12:25 UTC

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Apache JIRA QPID-5921 None None None Never
Red Hat Bugzilla 1122856 None None None Never
Red Hat Product Errata RHEA-2014:1296 normal SHIPPED_LIVE Red Hat Enterprise MRG Messaging 3.0 Release 2014-09-24 19:00:06 UTC

Internal Links: 1122856

Description Petr Matousek 2014-07-24 08:48:21 UTC
Description of problem:

Having defined two ambiguous node (queue and exchange of the same name), messages are delivered to both the exchange and queue when the exchange was defined first (if the queue is defined first the behaviour is as expected).

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. drain  -f "ambiguous_node;{'node': {'type': 'topic'}, 'create': 'receiver'}"
2. drain  -f "ambiguous_node;{'node': {'type': 'queue'}, 'create': 'receiver'}"
3. spout  "ambiguous_node;{'node': {'type': 'queue'}}"
4. spout  "ambiguous_node;{'node': {'type': 'topic'}}"
5. spout  "ambiguous_node
6. all the three messages are delivered to both the nodes (message from step 3. and 5. shall be delivered to the queue, message from step 4. shall be delivered to the exchange)

Actual results:
Messages are routed to both the ambiguous nodes regardless of the node type specified in the address string.

Expected results:
Messages are routed only to the node type defined in the address string when ambiguous nodes exists.

Additional info:

Comment 1 Petr Matousek 2014-07-24 11:28:24 UTC
I agree with Gordon that the following description of this issue is more appropriate:

If an exchange named x exists, then an address such as 'x; create:always, node:
{type:queue}' resolves to the exchange and the queue is not created,

(also changing summary.)

Comment 2 Gordon Sim 2014-07-24 13:55:57 UTC
Fixed upstream: https://svn.apache.org/r1613129

(https://svn.apache.org/r1613131 also required for swigged tests)

Comment 6 Valiantsina Hubeika 2014-08-04 13:28:58 UTC
verified on 

Comment 7 errata-xmlrpc 2014-09-24 15:12:25 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.


Note You need to log in before you can comment on or make changes to this bug.