[rabbitmq-discuss] Fwd: question on the faq

Matthias Radestock 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 
> specification.

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 mailing list