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)
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.
verified on qpid-cpp-0.22-47