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