Olivier
Olivier
I had a look to the patch and can now explain :)
This was not a bug, it was by design.
Each EventProcessor keeps track of the current sequence it has processed.
In previous revisions the sequence was a volatile long so every read and write operation was emitting a fence.
As an optimization, instead of writing the sequence for every single event I was "throttling" this publication (to prevent paying the cost of the fence each time).
This optimization was only applied to the last EventProcessor of a chain so there was no risk of slowing down dependent event processors.
The sequence is now no longer using a volatile write in more recent revisions (ie. No fence emitted) so this optimization no longer make sense and I removed it.
Olivier
-----Message d'origine-----
De : disrup...@googlegroups.com [mailto:disrup...@googlegroups.com] De la part de Olivier Deheurles
Envoyé : jeudi 1 septembre 2011 08:56
À : disrup...@googlegroups.com
Objet : Re: Disruptor 2.0
Martin has been very productive over the last few weeks and I did not had much time to port the latest bits. As soon as I have a free weekend I will port all the new stuff ;)
Olivier