[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2715?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tharindu Kumara updated ZOOKEEPER-2715:
---------------------------------------
    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  B to 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. 

  was:
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. 
C2 is connected B 
C3 is connected C. 

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  B to C and vice versa. But the 
connection exists between between B and C.

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. 


> Sessions Expire due to Network partitioning in Zookeeper 
> ---------------------------------------------------------
>
>                 Key: ZOOKEEPER-2715
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2715
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: c client
>    Affects Versions: 3.4.9
>            Reporter: Tharindu Kumara
>
> 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  B to 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. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to