Bug 1022630 - Unable to "declare only" xml and headers exchanges using python receiver
Summary: Unable to "declare only" xml and headers exchanges using python receiver
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: python-qpid
Version: Development
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: ---
: ---
Assignee: messaging-bugs
QA Contact: Messaging QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-10-23 16:22 UTC by Petr Matousek
Modified: 2020-11-04 22:30 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:


Attachments (Terms of Use)

Description Petr Matousek 2013-10-23 16:22:34 UTC
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 10.34.33.110:5672 "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):
qpid-cpp-*-0.22-21

How reproducible:
100%

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.