Bug 1051555 - [AMQP 1.0] No way to delete subscription queue created from topic on reliable link
Summary: [AMQP 1.0] No way to delete subscription queue created from topic on reliable...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: 3.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: 3.0
: ---
Assignee: Gordon Sim
QA Contact: Eric Sammons
URL:
Whiteboard:
Depends On:
Blocks: 1010399
TreeView+ depends on / blocked
 
Reported: 2014-01-10 14:58 UTC by Pavel Moravec
Modified: 2018-12-04 16:54 UTC (History)
5 users (show)

Fixed In Version: qpid-cpp-0.22-47
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-01-21 12:56:45 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


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

Description Pavel Moravec 2014-01-10 14:58:25 UTC
Description of problem:
When using topic for creating a queue for a reliable subscription, AMQP 1.0 client has no capability to delete the queue once it does not require it. The only (default) option - queue being autodelete - is overwritten by link reliability:at-least-once and there is no way to change it.

Further, AMQP 1.0 client can't ad hoc delete a node/queue on the broker (such that a workaround in "delete:always" wont work).


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


How reproducible:
100%


Steps to Reproduce:
qpid-config add topic response --argument exchange=amq.direct --argument qpid.max_count=100 --argument qpid.policy_type=ring --argument qpid.auto_delete_timeout=10 --argument auto-delete=true
qpid-receive -a "response/RELIABLE_LIFETIME; { create: never, link: { timeout:10, reliability:'at-least-once', name: 'RELIABLE_LIFETIME', durable: false }, node: { properties: {'lifetime-policy':'delete-on-no-links' }, capabilities: ['shared'] } }" -f -m 1000 --connection-options="{protocol:amqp1.0}"


Actual results:
despite topic has auto-delete (and timeout) and despite subscriber has lifetime-policy set, the queue persists after consumer is gone. And there is no configuration / address string to change it.


Expected results:
Some config / address string to allow delete such queue on close / no link.


Additional info:
Per gsim, few options are possible:
- backport link option "timeout" to 0.22-mrg
- make shared subscriptions reliable by default (shared subscriptions seems to be the only one where both link reliability and auto-delete make sense to be set)

Comment 1 Gordon Sim 2014-01-10 23:20:57 UTC
Actually it appears a shared subscription *is* reliable by default, and if you don't explicitly set the reliability it will also be autodelete by default.

That said, I think the link should not be able to override a topic policy that specifies autodeletion (via a lifetime-policy value). That is now fixed upstream: https://svn.apache.org/r1557280

The link timeout option is already tracked by https://bugzilla.redhat.com/show_bug.cgi?id=985870.

Comment 7 Valiantsina Hubeika 2014-08-26 08:42:32 UTC
verified on
qpid-cpp-0.22-47


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