Bug 1040614 - auto-delete property on exchange is ignored/invalid
Summary: auto-delete property on exchange is ignored/invalid
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: 3.0
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: 3.0
: ---
Assignee: Gordon Sim
QA Contact: Zdenek Kraus
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-11 17:20 UTC by Zdenek Kraus
Modified: 2015-01-21 12:52 UTC (History)
4 users (show)

Fixed In Version: qpid-cpp-0.22-30
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-01-21 12:52:29 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Apache JIRA QPID-5301 0 None None None Never

Description Zdenek Kraus 2013-12-11 17:20:53 UTC
Description of problem:
exchange's property 'auto-delete' is ignored or invalid.

QMF shows the 'autoDelete' property as False all the time, 
and delete action when last receiver unsubscribe is invalid, since the receiver makes the subscription queue and the unsubscribe is applied on that queue and not relayed to the exchange.

Thus the auto-delete property is invalid for exchange
-or-
property should possible to set and last subscription has to be relayed to exchange to make it work.

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

How reproducible:
100%

Steps to Reproduce:
1. create a auto-delete exchange with sender
./spout "ex;{create:always, node:{type:topic,'x-declare':{'auto-delete':True}}}"
2. check QMF
./qmf2_list_objects --query-data exchange/ex | ipython
3. subscribe to the exchange, and let unsubscribe
./drain "ex"

Actual results:
{'_create_ts': 1386781433415679174,
 '_delete_ts': 0,
 '_object_id': {'_agent_epoch': 699,
                '_object_name': 'org.apache.qpid.broker:exchange:ex'},
 '_schema_id': {'_class_name': 'exchange',
                '_hash': 'c9bb43df-44ac-63d5-cc1c-6a032025c97d',
                '_package_name': 'org.apache.qpid.broker',
                '_type': '_data'},
 '_update_ts': 1386781455003296482,
 'arguments': {},
 'autoDelete': False,
 'bindingCount': 0,
 'bindingCountHigh': 0,
 'bindingCountLow': 0,
 'byteDrops': 91,
 'byteReceives': 91,
 'byteRoutes': 0,
 'durable': False,
 'msgDrops': 1,
 'msgReceives': 1,
 'msgRoutes': 0,
 'name': 'ex',
 'producerCount': 0,
 'producerCountHigh': 0,
 'producerCountLow': 0,
 'type': 'topic',
 'vhostRef': {'_object_name': 'org.apache.qpid.broker:vhost:org.apache.qpid.broker:broker:amqp-broker,/'}}

exchange has property 'autoDelete': False and it's not deleted after last receiver

Expected results:
auto-delete should work with exchanges same as with queue
- OR - 
the property should be removed from QMF

Additional info:
Please move the bug on qpid-qmf based on final resolution

Comment 2 Gordon Sim 2013-12-11 18:13:33 UTC
Fixed upstream: https://svn.apache.org/r1541058

Comment 5 Zdenek Kraus 2014-01-07 13:20:14 UTC
This was tested on RHEL 6.5 i686, x86_64 with following packages:

qpid-cpp-server-0.22-30.el6
qpid-cpp-server-xml-0.22-30.el6
qpid-proton-debuginfo-0.6-1.el6
qpid-cpp-debuginfo-0.22-30.el6
qpid-jca-0.22-1.el6
qpid-jca-xarecovery-0.22-1.el6
qpid-qmf-devel-0.22-25.el6
qpid-tools-0.22-7.el6
qpid-proton-c-0.6-1.el6
qpid-qmf-0.22-25.el6
python-qpid-qmf-0.22-25.el6
qpid-proton-c-devel-0.6-1.el6
qpid-java-example-0.22-5.el6
python-qpid-0.22-9.el6
qpid-cpp-client-0.22-30.el6
qpid-cpp-client-ssl-0.22-30.el6
qpid-cpp-server-devel-0.22-30.el6
qpid-java-client-0.22-5.el6
qpid-cpp-server-ssl-0.22-30.el6
qpid-java-common-0.22-5.el6
qpid-cpp-client-devel-0.22-30.el6
qpid-cpp-server-store-0.22-30.el6
qpid-cpp-client-devel-docs-0.22-30.el6

fix work as expected.


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