[rabbitmq-discuss] Fwd: question on the faq
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.
More information about the rabbitmq-discuss