[Openstack] Messaging reliability/durability expectations

Gordon Sim gsim at redhat.com
Thu Oct 16 13:26:10 UTC 2014

On 10/16/2014 01:51 PM, Aaron Knister wrote:
> Thanks, again, for your replies. I started looking at the code to see
> about implementing acknowledgements in the Qpid driver and I'll admit
> after some digging I've come up confused. These lines (it's in master
> as well as the stable icehouce branch) http://git.io/w3KkQw and
> http://git.io/SiO5cg suggest that acknowledgements *are* sent by the
> qpid driver when messages are consumed. Am I making too broad an
> assumption here?

The acknowledge() call is made, but at the protocol (i.e. AMQP 0-10) 
level this is only relevant if the message was delivered with an 
'accept-mode' of 'explicit'. The broker will determine the accept-mode 
to use based on that requested in the message-subscribe command sent by 
the client. With the qpid.messaging API, this is controlled through the 
'reliability' option in the link options within the address. For 
addresses based on an exchange, the default is to use an auto-deleted 
subscription queue with accept-mode 'none' (if the queue is autodeleted, 
there is no benefit to acknowledgements anyway, since the queue and its 
messages are lost if the subscribing connection is lost).

More information about the Openstack mailing list