[rabbitmq-discuss] Queues and auto_delete

Ben Hood 0x6e6562 at gmail.com
Thu Aug 6 22:07:09 BST 2009


Garrett,

On Thu, Aug 6, 2009 at 8:54 PM, Garrett Smith<g at rre.tt> wrote:
> This is what I'm referring to (from amqp-xml-doc0-8.pdf):
>
> "amq_queue_02 The server SHOULD allow for a reasonable delay between
> the point when it determines that a queue is not being used (or no
> longer used), and the point when it deletes the queue. At the least it
> must allow a client to create a queue and then create a consumer to
> read from it, with a small but non­ zero delay between these two
> actions. The server should equally allow   for clients that may be
> disconnected prematurely, and wish to re­consume from the same queue
> without losing messages. We would recommend a configurable timeout,
> with a suitable default value being one minute."
>
> I understand this is a "should", but it seems to me a useful recommendation.

Yes, it does say that in 0-8 but that version of the spec was in
itself not exactly perfect, so some aspects of it should be taken with
a pinch of salt.

> If a client gets (unpredictably) disconnected (e.g. a brief network
> problem), the current implementation would immediately delete the
> queue, yeah?

As Matthias points out, it would be tricky to make this predictable.
So even though it is written into the spec, it doesn't necessarily
mean that it is a sensible thing to mandate (at least from a
cost-benefit perspective).

> I'm switching over from qpid (which does provide a delay before
> auto-deleting) so am trying to sort through any redesigns I'll need.
> Sounds like I'll want to set auto-delete to false and explicitly
> handle queue deletion from the clients.

Is there any reason why you are switching from qpid?

Ben




More information about the rabbitmq-discuss mailing list