Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.4.9
-
None
-
None
Description
Recently, carried out a test to to find the behavior of clients when a zookeeper server is isolated from the zookeeper leader.
Here 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
I____________I
And 3 clients are connected to ensemble like below.
C1 is connected A. Both C1 and A are in the same machine.
C2 is connected B. Both C2 and B are in the same machine.
C3 is connected C. Both C3 and C are in the same machine.
To remove the network link between B and C iptables utility is used.
command used:
iptables -I INPUT -s Server_B_IP -j DROP
iptables -I INPUT -s Server_C_IP -j DROP
After removing the link connections looks like below.
A <===> B C
I________I
Simply there is no way to send any packets from zookeeper server B to zookeeper server C and vice versa. But the connection exists between between B and C. And also there is no way to send any packets from B to C3 and vice versa. But the connection exists between between B and C3.
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.