[rabbitmq-discuss] Fwd: question on the faq

Carl Trieloff 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 
successfully committed
the txn, the broker weather single instance or cluster should be in a 
consistent state
or be able to be recover-ed to the consistent state to trans-send the 
failure.

Carl.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20090105/9cc3348f/attachment.htm 


More information about the rabbitmq-discuss mailing list