In some cases this may lead to split brain. This may happen
if you have two servers S1 and S2, who's server lists L1 and L2 are such that
some quorum of L1 doesn't intersect with some quorum of L2. In this case, two separate
zookeeper clusters may even be formed that will be able to operate independently.
If all lists are such that all their quorums intersect, you may still have weird behavior in terms of progress and fault-tolerance guarantees, I'm less sure what happens in this case, especially since in the current implementation there is no strict enforcement of membership during voting protocols (this is fixed as part of ZK-107).
When ZK-107 goes in (hopefully in 3.5), a follower that connects to a working cluster will be able to start with an inaccurate list, as long as it includes the current leader and itself and then it will get the config list from the leader as part of syncing with it.
> -----Original Message-----
> From: Garret Hayes [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, December 21, 2011 7:55 AM
> To: [EMAIL PROTECTED]
> Subject: Hybrid Server Lists
> Hi all,
> I am new to learning about zookeeper and had a perhaps very simple
> question. What exactly is the behavior of the server cluster if not
> all config lists are identical? I tried to ascertain this through the
> documentation, but could not find any helpful hints. At most I could
> find that the servers must contain identical config lists of the other
> servers in the cluster. But what happens if, say, one list is out of
> sync and contains one too many or one too few entries? Is the behavior
> in this case then unpredictable? Thanks in advance.