[rabbitmq-discuss] py-amqplib status messages

Matthias Radestock matthias at lshift.net
Mon Nov 24 18:09:17 GMT 2008


Dmitriy,

Dmitriy Samovskiy wrote:
> Is it a fair assumption that if a TCP packet was ack'ed, it means its 
> contents reached the broker and would be processed eventually?

All kinds of stuff can go wrong after the TCP packet has been ack'ed. 
The broker may die before it even gets a chance to look at the data. Or 
some process involved in the handling of the message may die.

Also note that so-called asynchronous commands like basic.publish can 
still fail and solicit an error response, for example when the specified 
exchange does not exist.

So unless the sender has received some application level ack - such as a 
channel/connection.close-ok, or a tx.commit-ok - there is no way for it 
to be sure that the messages it has sent have been
processed.


Matthias.




More information about the rabbitmq-discuss mailing list