​Recently, carried out a test to to find the behavior of clients when a
client is partitioned from the ensemble.

Here I used a ensemble of 3 zookeeper servers called A, B and C. And quorum
was set up like below.

A - Follower
B - Leader
C - Follower​

A  <---> B <---> C
   \____________/

And 3 clients are connected to ensemble like below.

C1 is connected A
C2 is connected B
C3 is connected C.

I used iptables to remove the network link between B and C.

command used: iptables -I INPUT -s 123.123.45.123 -j DROP

After removing the link connections looks like below.

A  <----> B         C
   \____________/

Simply there is no way to communicate from B to C and vice versa.

Here What I noticed is that the client connected to Zookeeper Server "C",
could not connect to the ensemble resulting a session expiration timeout.

For this experiment I used tickTime of 3000ms and client session expiration
timeout of 45000ms. And tested with different combinations also.

Can someone please explain what is the root cause for this behavior?

Reply via email to