[rabbitmq-discuss] Fwd: question on the faq

Matthias Radestock matthias at lshift.net
Mon Jan 5 15:47:59 GMT 2009


Gordon Sim wrote:
> Matthias Radestock wrote:
>> 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.

Any failure of a queue process is indeed a bug, but the interesting 
question is how the system deals with such failures. In RabbitMQ they 
will cause any tx involving that queue to abort.

>> 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?

Yes, but aborts in RabbitMQ aren't atomic, i.e. any actions on other 
queues that are part of the same transactions may still get committed.


Matthias




More information about the rabbitmq-discuss mailing list