On Jun 15, 2012, at 10:33 PM, Otis Gospodnetic wrote:

> However, if my half brain understands what split brain is then I think that's 
> not a completely true claim because one can get unlucky and get a SolrCloud 
> cluster partitioned in a way that one or even all partitions reject indexing 
> (and update and deletion) requests if they do not have a complete index.

That's not split brain. Split brain means that multiple partitioned clusters 
think they are *the* cluster and would keep accepting updates. This is a real 
problem because when you unsplit the cluster, you cannot reconcile conflicting 
updates easily! In many cases you have to ask the user to resolve the conflict.

Yes, you must have a node to serve a shard in order to index to that shard. You 
do not need the whole index - but if an update hashes to a shard that has no 
nodes hosting it, it will fail. If there is no node, the document has no where 
to live. Some systems do interesting things like buffer those updates to other 
nodes for a while - we don't plan on anything like that soon. At some point, 
you can only survive a loss of so many nodes before its time to give up 
accepting updates in any system. If you need to survive catastrophic loss of 
nodes, you have to have enough replicas to handle it. Whether those nodes are 
partitioned off from the cluster or simply die, it's all the same. You can only 
survive so many node loses, and replicas are your defense.

The lack of split-brain allows your cluster to remain consistent. If you allow 
split brain you have to use something like vector clocks and handle conflict 
resolution when the splits rejoin, or you will just have a lot of messed up 
data. You generally allow split brain when you want to favor write availability 
in the face of partitions, like Dynamo. But you must have a strategy for 
rejoining splits (like vector clocks or something) or you can never properly go 
back to a single, consistent cluster. We favor consistency in the face of 
partitions rather than write availability. It seemed like the right choice for 
Solr.

- Mark Miller
lucidimagination.com











Reply via email to