Bug 1010395

Summary: [amqp1.0] desired capability declared in the x-declare argument map is not set for exchanges
Product: Red Hat Enterprise MRG Reporter: Petr Matousek <pematous>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED CURRENTRELEASE QA Contact: Ernie <eallen>
Severity: high Docs Contact:
Priority: medium    
Version: DevelopmentCC: eallen, esammons, gsim, iboverma, jross
Target Milestone: 3.0Keywords: OtherQA
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-0.22-17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-21 12:55:23 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:
Bug Depends On:    
Bug Blocks: 1010399    

Description Petr Matousek 2013-09-20 16:59:51 UTC
Description of problem:

When a capability for an exchange is requested using x-declare arguments map in the node properties, the desired capability is ignored.

This applies also to other options for declaring exchanges:
qpid.exclusive-binding, qpid.msg_sequence, qpid.sequence_counter

Version-Release number of selected component (if applicable):
qpid-cpp-*-0.22-14

How reproducible:
100%

Steps to Reproduce:
1. ./spout  --connection-options "{  protocol : 'amqp1.0' }" "ex;{create:always, node: {type: topic, x-declare: { arguments: {qpid.ive: True}}}}"
2. check the created exchange for the ive capability (ie. using qpid-config)

Actual results:
Exchange options declared in the x-declare arguments map are ignored over amqp1.0

Expected results:
Exchange options declared in the x-declare arguments map are properly applied over amqp1.0

Comment 1 Gordon Sim 2013-09-20 19:36:39 UTC
Fixed upstream: https://svn.apache.org/r1525091

Comment 2 Ernie 2014-03-10 17:51:57 UTC
Verified RHEL 6.5 64
qpid-cpp-server-0.22-35.el6.x86_64
python-qpid-0.22-11.el6.noarch
qpid-proton-c-0.6-1.el6.x86_64
qpid-cpp-client-0.22-35.el6.x86_64
qpid-qmf-0.22-27.el6.x86_64
python-qpid-qmf-0.22-27.el6.x86_64
qpid-tools-0.22-8.el6.noarch
qpid-cpp-client-devel-0.22-35.el6.x86_64

Verified RHEL 6.5 32
qpid-jca-0.22-2.el6.noarch
python-qpid-qmf-0.22-27.el6.i686
qpid-proton-c-devel-0.6-1.el6.i686
python-qpid-0.22-11.el6.noarch
qpid-proton-c-0.6-1.el6.i686
qpid-qmf-0.22-27.el6.i686
perl-qpid-0.22-7.el6.i686
qpid-snmpd-1.0.0-15.el6.i686
qpid-cpp-client-devel-0.22-35.el6.i686
qpid-cpp-server-linearstore-0.22-35.el6.i686
qpid-cpp-client-0.22-35.el6.i686
qpid-tools-0.22-8.el6.noarch
qpid-cpp-server-ha-0.22-35.el6.i686
qpid-java-client-0.22-6.el6.noarch
ruby-qpid-qmf-0.22-27.el6.i686
qpid-java-common-0.22-6.el6.noarch
qpid-cpp-server-0.22-35.el6.i686
qpid-jca-xarecovery-0.22-2.el6.noarch

Reproduced on Fedora 20 from source