[omniNotify] Possible bug in event ordering when using EventBatch

Cameron Rochester Cameron.Rochester at Ripple-Systems.com
Wed Jan 28 17:21:24 GMT 2004


Hi all,

Just wondering if anyone has experienced events arriving out-of-sequence
when using SequencePushConsumers/Suppliers

Configuration:

The OrderPolicy for the NotificationService is set to FifoOrder ( 1 ) in the
channel.cfg file, this value is not overridden when creating proxies.
I have a SequencePushSupplier supplying EventBatches of size 4 to the
NotificationService.
I have a SequencePushConsumer consuming EventBatches of size 4 from the
NotificationService (pacing interval of 1000ms).
The consumer & supplier are using the same channel, obviously. 100
StructuredEvents are sent at a time.

Scenario:

On the supplier side I add a sequence number to the variable_header field of
each StructuredEvent. The sequence number is incremented as each
StructuredEvent is added to the EventBatch. To verify the order of the
EventBatch I iterate through the batch just before sending.

When the SequencePushConsumer receives a batch I iterate through the
EventBatch and print out the sequence numbers. 50% of the time the sequence
numbers are jumbled in the received EventBatch. Most often the first two
StructuredEvents are in order, but the last two are reversed, but often the
Events will be 4 or 5 positions out of place.

Now, If I limit the SequencePushSupplier to send EventBatches of size 1, and
still have EventBatches of size 4 being pushed to the SequencePushConsumer,
the order is correct. I realise that this points towards the
SequencePushSupplier sending jumbled batches, but I have checked, double
checked, printed, and verified the order of the batch just before calling
push_structured_events() on the ProxyConsumer and it all seems fine.

Can anyone else verify this behaviour? If so, this is a nasty bug when you
are relying on the FifoOrder being correct.

Regards
Cameron Rochester



More information about the omninotify-list mailing list