Bug 1022630

Summary: Unable to "declare only" xml and headers exchanges using python receiver
Product: Red Hat Enterprise MRG Reporter: Petr Matousek <pematous>
Component: python-qpidAssignee: messaging-bugs <messaging-bugs>
Status: CLOSED UPSTREAM QA Contact: Messaging QE <messaging-qe-bugs>
Severity: low Docs Contact:
Priority: low    
Version: DevelopmentCC: jross
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-10 03:28:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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:

Comment 1 Red Hat Bugzilla 2025-02-10 03:28:49 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.