[rabbitmq-discuss] Fwd: question on the faq
matthias at lshift.net
Mon Jan 5 14:55:56 GMT 2009
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.
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).
More information about the rabbitmq-discuss