You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@zookeeper.apache.org by "Keli Wang (Jira)" <ji...@apache.org> on 2020/05/15 17:19:00 UTC

[jira] [Created] (ZOOKEEPER-3830) After add a new node, zookeeper cluster won't commit any proposal if this new node is leader

Keli Wang created ZOOKEEPER-3830:
------------------------------------

             Summary: After add a new node, zookeeper cluster won't commit any proposal if this new node is leader
                 Key: ZOOKEEPER-3830
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3830
             Project: ZooKeeper
          Issue Type: Bug
         Environment: Zookeeper 3.5.8

JDK 1.8
            Reporter: Keli Wang
         Attachments: reproduce-zkclusters.tar.gz

I have a zookeeper cluster with 3 nodes, node3 is the leader of the cluster.

 
{code:java}
server.1=node1
server.2=node2
server.3=node3 # current leader{code}
With dynamic reconfiguration disabled, I scale this cluster to 4 nodes with 2 steps:
 # Start node4 with new config, now node4 is a follower.
 # Modify config and restart node1, node2 and node3 one by one.

The new cluster config is:
{code:java}
server.1=node1
server.2=node2
server.3=node3 
server.4=node4 # current leader
{code}
After restart, node4 is the leader of this cluster. But I cannot connect to this cluster using zkCli now.

If I restart node4, node3 will be the new leader, and now I can connect to cluster using zkCli again.

After some digging, I find node4's Leader#allowedToCommit field is false, so this cluster won't commit any new proposals.

 

I have attached a zookeeper cluster to reproduce this problem. The cluster in the attachment can run in one single machine.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)