[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