[rabbitmq-discuss] Fwd: question on the faq
Gordon Sim
gsim at redhat.com
Mon Jan 5 17:29:18 GMT 2009
Matthias Radestock wrote:
> 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.
That is the ideal approach in my view.
>>> 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.
Understood, and that was the point on which I entered the conversation
i.e. there is no 'all or nothing' guarantee.
More information about the rabbitmq-discuss
mailing list