[rabbitmq-discuss] Fwd: question on the faq
matthias at lshift.net
Mon Jan 5 22:36:53 GMT 2009
Gordon Sim wrote:
> I don't believe it is valid for a queue to disappear due to some
> internal fault. That to me is a bug and outside the scope of the
It's certainly a bug. The question is how to deal with it. I would
expect to see some errors recorded in the logs (which RabbitMQ does),
some admin to be informed, etc, etc, which indeed are all things outside
the protocol spec. When it comes to raising protocol errors though, if
the spec doesn't specify the precise conditions under which such errors
are signalled then it's up to implementation choice.
>> there is also a case
>> for saying that queues are of no concern to publishers, only
>> consumers, since publishers never address them directly.
> True, but a system as a whole needs to be able to rely on the semantics
> of an exchange and the lifecycle of the queue. I think what confuses me
> is the notion of a queue vanishing due to some unspecified error, and I
> would feel very uncomfortable having the broker simply continue without
> signaling that potentially catastrophic violation of the specified
> semantics of a broker.
Perhaps, but who should this condition be signalled to? I'd argue the
*consumers* should be told about it. After all, the queue may vanish
long after anyone has published a message to it. Conversely, if nobody
ever tries to consume messages from the queue then the fact that it once
existed and then vanished is of little interest to anybody.
I suppose one way to handle this inside the current spec would be to
signal a channel error on all channels with subscribers to a queue that
is dying an unexpected death. What do you reckon?
More information about the rabbitmq-discuss