[rabbitmq-discuss] Fwd: question on the faq

Gordon Sim gsim at redhat.com
Tue Jan 6 10:02:17 GMT 2009


Matthias Radestock wrote:
> Gordon Sim wrote:
>> I'm not sure I follow you. If, as I understood your earlier comment to 
>> imply, the various transactional operations cannot be atomically 
>> aborted, it would seem to me that it is not ACID under either 
>> interpretation.
>>
>> E.g. if a transaction where I publish a message and acknowledge 
>> another is aborted, is it possible that the published message is 
>> delivered to a subscriber of some matching queue and the acknowledged 
>> message is left on the queue and is subsequently redelivered to 
>> another subscriber? If so it is not atomic.
> 
> The above cannot happen when the abort was caused by a fault or 
> tx.rollback. It can only happen in the event of node or communication 
> failure in a clustered set up when performing a tx.commit, though 
> arguably the error in that case is signalling a breakdown of the tx 
> mechanics ("all bets are off") rather than a controlled tx abort.

In the case of a single node, if that node is killed in the middle of 
processing a tx-commit and then restarted, are there any atomicity 
guarantees? Could some of the operations be completed with others being 
lost?




More information about the rabbitmq-discuss mailing list