Bug 1022630 - Unable to "declare only" xml and headers exchanges using python receiver
Unable to "declare only" xml and headers exchanges using python receiver
Status: NEW
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: python-qpid (Show other bugs)
Unspecified Unspecified
low Severity low
: ---
: ---
Assigned To: messaging-bugs
Messaging QE
Depends On:
  Show dependency treegraph
Reported: 2013-10-23 12:22 EDT by Petr Matousek
Modified: 2014-11-09 17:41 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Petr Matousek 2013-10-23 12:22:34 EDT
Description of problem:

Following commands ends with an error:

# ./drain "my-headers;{create: always, node: {type: topic, x-declare: {type: headers}}}"
qpid.messaging.exceptions.ServerError: internal-error: Invalid or missing x-match value binding to headers exchange. Must be a string ["all" or "any"] (/builddir/build/BUILD/qpid-0.22/cpp/src/qpid/broker/HeadersExchange.cpp:198)(541)

# ./drain --broker "my-xml;{create: always, node: {x-declare: {type: xml}, type: topic}}"
qpid.messaging.exceptions.ServerError: internal-error: Could not parse xquery: (/builddir/build/BUILD/qpid-0.22/cpp/src/qpid/xml/XmlExchange.cpp:98)(541)

I'm not claiming that this behavior is necessarily wrong, because when the receiver is used it is expected that the client is interested in receiving some messages and therefore the xquery/x-match in the address string should be specified. But using other clients (ie. c++) the commands above succeeds and results with the corresponding exchange creation.

All the clients shall behave the same way. 

Note: When sender is used the exchanges are created as expected.
Note: When xquery/x-match element is specified for the receiver the behavior is also as expected.

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

How reproducible:

Steps to Reproduce:
1. execute the commands above

Actual results:
Error on declaring xml, headers exchanges using python receiver

Expected results:
No errors, command succeeds and the exchange is created

Additional info:

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