[rabbitmq-discuss] Fwd: question on the faq
cctrieloff at redhat.com
Mon Jan 5 15:24:40 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.
> 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).
Sound like a bug.
If something is transactional then it should be ACID, so if a node fails
and is restarted it
should be recover-ed from the transaction log. Once a client has
the txn, the broker weather single instance or cluster should be in a
or be able to be recover-ed to the consistent state to trans-send the
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss