Devs,

I was working on CURATOR-233 and I realized that I don't really understand
the semantics of the DistributedDoubleBarrier when there are more clients
than the given member quantity. Note that I'm not asking about what the
code currently does (because I suspect it has a few inconsistencies) but
what it should do according to the API contract.

Let's suppose I create a DDB with n=2.

client1.enter() // blocks until at least 2 clients enter
client2.enter() // returns immediately

client3.enter() // returns immediately?

client3.leave() // blocks until all clients leave?
client2.leave() // blocks until all clients leave?

client4.enter() // imagine a straggling thread, no idea what should even
happen here

Mike

Reply via email to