On 04/05/2013 02:53 PM, Manik Surtani wrote:
2. The SBL flips a switch in an interceptor
(SplitBrainHandlerInterceptor?) which switches the node to be read-only (reject
invocations that change the state of the local node) if it is in the smaller partition
(newView.size < oldView.size / 2). Only works reliably for odd-numbered cluster sizes,
and the issues with small clusters seen in (1) will affect here as well.
I have another suggestion that can allow all the partitions to process
write commands.
I think we can rely on the primary owners to decide which partition has
the write permission on a key. For example, if the primary owner of key1
is on partition_1, then the partition_1 has the only partition that can
update key1. All the remaining partitions only have read access over key1.
The problem with this approach is that we have to keep the consistent
hash before the partition occurs.
Another problem is the state transfer. It has to be aware of this
primary partitions in order to avoid overwrite a key with an old value.
wdyt?
Pedro