Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
As shown by system test TemporaryQueueTest#testExplictTemporaryQueueDeletion. When the application calls TemporaryQueue#delete() the temporary queue ought to be deleted immediately. This currently does not happen.
The following describes how sending links with certain properties are used to establish temporary queues.
https://www.oasis-open.org/committees/download.php/56418/amqp-bindmap-jms-v1.0-wd06.pdf
The Qpid JMS Client correctly sends the detach in response to the #delete call, but it appears that the broker's AMQP 1.0 protocol layer does not organise itself to act upon the expiryPolicy=link-detach once the link is detached.
The temporary queue is deleted once the connection closes.
The attach establishing the temporary queue looks like this:
Attach{name=qpid-jms:temp-queue-creator:ID:d591b0c0-169d-4895-a227-e1e18c9709ab:1:1,handle=0,role=sender,sndSettleMode=unsettled,rcvSettleMode=first,source=Source{},target=Target{durable=none,expiryPolicy=link-detach,timeout=0,dynamic=true,dynamicNodeProperties={lifetime-policy=DeleteOnClose{}},capabilities=[temporary-queue]},incompleteUnsettled=false,initialDeliveryCount=0}
The detach sent by the client:
017-01-17 12:22:24,665 DEBUG [IO-/127.0.0.1:62572] o.a.q.s.p.frame RECV[/127.0.0.1:62572|0] : Detach{handle=0,closed=true}
Attachments
Issue Links
- is related to
-
QPID-7807 Add support temporary-topics (as per AMQP bindmap WD9)
- Closed