You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "ZheyuanLin (Jira)" <ji...@apache.org> on 2023/02/28 02:27:00 UTC

[jira] [Created] (ZOOKEEPER-4678) Ephemeral nodes are never deleted if the cluster has a network partition while the zookeeper client is closed

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)