On 29 Sep 2011, at 08:06, Bela Ban wrote:
On 9/28/11 4:24 PM, Mircea Markus wrote:
> Nice stuff.
>
> Some q:
>
> - When a node CM that has c1 and c2 caches running on it goes down, you'll end up
having REQUEST_LEAVE(c1) and REQUEST_LEAVE(c2) at the same time. Is this handled in
serial or in parallel?
I don't think any requests should be sent in this case: the current
coordinator should add the LEAVE(s) into its queue, as if it indeed did
receive 2 LEAVE requests. This may or may not lead to rebalance,
depending on the rebalance policy (e.g. JOINS are queued, but LEAVES and
MERGES trigger a rebalance immediately).
Makes sense.
On a side note, I only see a point in having LEAVES policy set to QUEUE (vs immediate) if
there's an controlled system shutdown. Otherwise the JOINS should be handled on an
immediate bases: that's in order to quickly react to topology node crashes. So IMO we
also need the hooks to switch between IMMEDIATE vs QUEUE policy at runtime.