On Jun 15, 2012, at 1:44 PM, Otis Gospodnetic wrote: > Does this work even when outside clients (apps for indexing or searching) > send their requests directly to individual nodes? > Let's use the example from my email where we end up with 2 groups of nodes: > 7-node group with 2 ZK nodes on the same network and 3-node group with 1 ZK > node on the same network.
The 3-node group with 1 ZK would not have a functioning zk - so it would stop accepting updates. If it could serve a complete view of the index, it would though, for searches. The 7-node group would have a working ZK it could talk to, and it would continue to accept updates as long as a node for a shard for that hash range is up. It would also of course serve searches. In this case, hitting a box in the 3-node group for searches would start becoming stale. A smart client would no longer hit those boxes though. If you have a 'dumb' client or load balancer, then yes - you would have to remove the bad nodes from rotation. We could improve this or make the behavior configurable. At least initially though, we figured it was better if we kept serving searches even when we cannot talk to zookeeper. > > If a client sends a request to a node in the 7-node group what happens? > And if a client sends a request to a node in the 3-node group what happens? - Mark Miller lucidimagination.com