ZheyuanLin created ZOOKEEPER-4678:
-------------------------------------

             Summary: Ephemeral nodes are never deleted if the cluster has a 
network partition while the zookeeper client is closed
                 Key: ZOOKEEPER-4678
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4678
             Project: ZooKeeper
          Issue Type: Bug
          Components: quorum, server
    Affects Versions: 3.6.0, 3.5.4, 3.5.3
            Reporter: ZheyuanLin


I read [ZOOKEEPER-2355|https://issues.apache.org/jira/browse/ZOOKEEPER-2355] 
and tried to reproduce it, but I found that this bug is not fixed in the fixed 
version. Ephemeral nodes are never deleted if the cluster has a network 
partition while the zookeeper client is closed.

The steps to reproduce are as follows:
 # Start a three-node zookeeper cluster and elect a leader.
 # Create client zk1 to connect to the zookeeper cluster.
 # Use zk1 to create a temporary node "/e1".
 # Implement a network partition between the leader and any follower.
 # Use close() to delete the zk1 client.
 # Remove the previously imposed network partition.
 # Create client zk2 to connect to any zookeeper server.
 # Call zk2.exists(nodePath, false), and find that nodePath has not been 
deleted.
 # Create a temporary node of the path "/e1" on zk2, and an exception is 
thrown: KeeperErrorCode = NodeExists for /e1

I don't understand how this problem was fixed before. I tried two fixed 
versions 3.5.4 and 3.6.0, and the above reproduction path can still be 
triggered stably. The bug no longer appeared after I commented out the network 
partition related content.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to