zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tharindu Kumara (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ZOOKEEPER-2715) Sessions Expire due to Network partitioning in Zookeeper
Date Thu, 09 Mar 2017 07:15:38 GMT

     [ 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 
client is partitioned from the ensemble. 

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 
 |____________|

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 
 |____________|

Simply there is no way to send any packets from 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. 

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

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 
   \__________/ 

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 
   \___________/ 

Simply there is no way to send any packets from 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 
> client is partitioned from the ensemble. 
> 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 
>  |____________|
> 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 
>  |____________|
> Simply there is no way to send any packets from 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. 



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

Mime
View raw message