[rabbitmq-discuss] Fwd: question on the faq

Gordon Sim gsim at redhat.com
Mon Jan 5 15:37:48 GMT 2009


Matthias Radestock wrote:
> Gordon Sim wrote:
>> A general atomicity guarantee is more basic than that though and would 
>> in my view be valuable even if it only applied where queues involved 
>> in that transaction were not deleted during the life of the transaction.
> 
>> (Note the only way a queue should disappear due to failure is if the 
>> broker restarts and the queue was not durable, in which case any open 
>> transactions would be aborted).
> 
> Not quite. Firstly, if queues are active entities, which they are in 
> RabbitMQ, then they can, in principle, die due to some failure. 

I would view that as a bug.

> Secondly, in a clustered RabbitMQ broker each queue resides on a 
> specific node. In such a set up a transaction may take place on a 
> connection+channel against one particular node but involve queues 
> residing on other nodes. Those queue can disappear due to node failure 
> or network connectivity disruption without the transacted 
> connection+channel being dropped (since the node which holds the 
> connection is still alive and well).

Would RabbitMQ abort any open transaction involving the queue in that case?





More information about the rabbitmq-discuss mailing list