Bug 996094

Summary: [AMQP 1.0] durable and exchange should not appear in generic topic properties
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED CURRENTRELEASE QA Contact: Zdenek Kraus <zkraus>
Severity: unspecified Docs Contact:
Priority: medium    
Version: DevelopmentCC: esammons, gsim, iboverma, jross, pematous, zkraus
Target Milestone: 3.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-0.22-11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-21 12:55:07 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 Gordon Sim 2013-08-12 11:53:41 UTC
Description of problem:

The management info for topics contains a map of properties to be applied to subscription queues. At present that maps shows the durable and exchange properties although these actually refer to the topic itself.

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

qpid-0.24rc1

How reproducible:

100%

Steps to Reproduce:
1. qpidt create topic my-topic durable=true exchange=amq.fanout qpid.max_count=10
2. use qpid-tool to query details of my-topic 

Actual results:

properties map includes durable and exchange key-value pairs

Expected results:

properties map does not include durable and exchange key-value pairs

Additional info:

Comment 1 Gordon Sim 2013-08-12 11:54:26 UTC
Fixed upstream: https://svn.apache.org/r1512245

Comment 2 Petr Matousek 2013-08-14 13:31:10 UTC
(In reply to Gordon Sim from comment #0)

> Steps to Reproduce:
> 1. qpidt create topic my-topic durable=true exchange=amq.fanout qpid.max_count=10
> 2. use qpid-tool to query details of my-topic 

Gordon, could you please provide description how the "map of properties to be applied to subscription queues" for an exchange can be obtained using qpid-tool? By a quick check I was unable to find the desired information by exchange show command, also listing subscriptions wasn't helpful. I see the following information listed by qpid-tool for an exchange:

    vhostRef           142
    name               amq.topic
    type               topic
    durable            True
    autoDelete         False
    altExchange        absent
    arguments          {u'qpid.replicate': u'none'}
    producerCount      0
    producerCountHigh  0
    producerCountLow   0
    bindingCount       0
    bindingCountHigh   0
    bindingCountLow    0
    msgReceives        0
    msgDrops           0
    msgRoutes          0
    byteReceives       0
    byteDrops          0
    byteRoutes         0

Comment 3 Gordon Sim 2013-08-14 14:30:26 UTC
(In reply to Petr Matousek from comment #2)
> (In reply to Gordon Sim from comment #0)
> 
> > Steps to Reproduce:
> > 1. qpidt create topic my-topic durable=true exchange=amq.fanout qpid.max_count=10
> > 2. use qpid-tool to query details of my-topic 
> 
> Gordon, could you please provide description how the "map of properties to
> be applied to subscription queues" for an exchange can be obtained using
> qpid-tool? By a quick check I was unable to find the desired information by
> exchange show command, also listing subscriptions wasn't helpful. 

It is not on the exchange, it is on the 'topic'. So `list topic`, then `show <id>` for the topic in question.

Comment 4 Petr Matousek 2013-08-14 14:53:59 UTC
(In reply to Gordon Sim from comment #3)

Thanks for clarification.

QE note: 
Also the topic must be created first to make that class (topic) appear in the qpid-tool list.

# wget https://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/qpidt?view=co -O qpidt; chmod +x qpidt
# ./qpidt create topic my-topic durable=true exchange=amq.fanout qpid.max_count=10
# qpid-tool
Management Tool for QPID
qpid: list topic
Object Summary:
    ID   Created   Destroyed  Index
    ====================================
    186  14:50:07  -          my-topic
qpid: show 186
Object of type: org.apache.qpid.broker:topic:_data(6182b36f-9f09-4118-2881-fb69e5355628)
    Attribute    186
    ==========================================================================================
    name         my-topic
    exchangeRef  145
    durable      True
    properties   {u'durable': u'true', u'qpid.max_count': u'10', u'exchange': u'amq.fanout'}

Comment 5 Petr Matousek 2013-08-14 14:54:41 UTC
(In reply to Gordon Sim from comment #3)

Thanks for clarification.

QE note: 
Also the topic must be created first to make that class (topic) appear in the qpid-tool list.

# wget https://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/qpidt?view=co -O qpidt; chmod +x qpidt
# ./qpidt create topic my-topic durable=true exchange=amq.fanout qpid.max_count=10
# qpid-tool
Management Tool for QPID
qpid: list topic
Object Summary:
    ID   Created   Destroyed  Index
    ====================================
    186  14:50:07  -          my-topic
qpid: show 186
Object of type: org.apache.qpid.broker:topic:_data(6182b36f-9f09-4118-2881-fb69e5355628)
    Attribute    186
    ==========================================================================================
    name         my-topic
    exchangeRef  145
    durable      True
    properties   {u'durable': u'true', u'qpid.max_count': u'10', u'exchange': u'amq.fanout'}

Comment 6 Zdenek Kraus 2014-05-27 07:40:23 UTC
tested on RHEL 6.5 i686 && x86_64 with following packages:
perl-qpid-0.22-12.el6
perl-qpid-debuginfo-0.22-12.el6
python-qpid-0.22-14.el6
python-qpid-qmf-0.22-31.el6
qpid-cpp-client-0.22-40.el6
qpid-cpp-client-devel-0.22-40.el6
qpid-cpp-client-devel-docs-0.22-40.el6
qpid-cpp-debuginfo-0.22-40.el6
qpid-cpp-server-0.22-40.el6
qpid-cpp-server-devel-0.22-40.el6
qpid-cpp-server-ha-0.22-40.el6
qpid-cpp-server-linearstore-0.22-40.el6
qpid-cpp-server-xml-0.22-40.el6
qpid-java-client-0.22-6.el6
qpid-java-common-0.22-6.el6
qpid-java-example-0.22-6.el6
qpid-jca-0.22-2.el6
qpid-jca-xarecovery-0.22-2.el6
qpid-proton-c-0.7-1.el6
qpid-proton-c-devel-0.7-1.el6
qpid-qmf-0.22-31.el6
qpid-snmpd-1.0.0-16.el6
qpid-tools-0.22-12.el6
rh-qpid-cpp-tests-0.22-40.el6
ruby-qpid-qmf-0.22-31.el6

works as expected.