[openstack-dev] [oslo] ordering of notification 'events' in oslo.messaging

Gordon Sim gsim at redhat.com
Mon Mar 31 13:55:25 UTC 2014

I believe that ordering of notifications at different levels is not 
guaranteed when receiving those notifications using a notification 
listener in olso.messaging.

I.e. with something like:

     notifier = notifier.Notifier(get_transport(CONF), 'compute')
     notifier.info(ctxt, event_type, payload_1)
     notifier.warn(ctxt, event_type, payload_2)

its possible that payload_1 is received after payload_2. The root cause 
is that a different queue is used for events of each level.

In practice this is easier to observe with rabbit than qpid, as the qpid 
driver send every message synchronously which reduces the likelihood of 
there being more than one message on the listeners queues from the same 
notifier. Even for rabbit it takes a couple of thousand events before it 
usually occurs. Load on either the receiving client or the broker could 
increase the likelihood of out of order deliveries.

Not sure if this is intended, but as it isn't immediately obvious, I 
thought it would be worth a note to the list.

More information about the OpenStack-dev mailing list