Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-2715

Sessions Expire due to Network partitioning in Zookeeper

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.4.9
    • None
    • c client
    • 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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            tharinduku Tharindu Kumara
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: