Hi Vikas, >What happens (at least afaiu): >* Obs q fills up as [C1, C2, ..., Cn] >* Another commit Cn+1 comes - this marks Cn as "external" and itself >gets dropped
Cn is not marked as external though, but yes, Cn+1 is dropped. >* The listener can consume all events till Cn, but Cn+1 and future >ones don't get to listener >Is this expected? Good point. I think this might have been known but not really acknowledged as a bug. I guess the reason being that in reality, for a large n, consuming the queue while no new change is coming in sounds unrealistic. But agreed, this is a bug and we should fix it. A fix could perhaps be to keep track of the Cn+1 (the overflow change) more explicitly - and check for that also when polling from the queue. >I was under the assumption that on arrival of Cn+1, >Cn gets dropped and Cn+1 is put in. Cn+1 is also marked external. No, only in case Cn was external and Cn+1 is also external does Cn get dropped and Cn+1 added instead. Cheers, Stefan
