[ https://issues.apache.org/jira/browse/ZOOKEEPER-2355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15568820#comment-15568820 ]
Rakesh R commented on ZOOKEEPER-2355: ------------------------------------- Thanks [~arshad.mohammad] for the patch. Just few comments, apart from this +1 from me. # Can you look at the 2nd point in [review comment|https://issues.apache.org/jira/browse/ZOOKEEPER-2355?focusedCommentId=15399696&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15399696]. I think logging {{last processed zxid}} would help in debugging, right? # Move {{mt = new MainThread}} this to the object reference like, {code}private MainThread[] mt = new MainThread[SERVER_COUNT];{code} Then make the teardown section like, {code} @After public void tearDown() { // stop all severs for (int i = 0; i < mt.length; i++) { try { if (mt[i] != null) { mt[i].shutdown(); } } catch (InterruptedException e) { LOG.warn("Quorum Peer interrupted while shutting it down", e); } } } {code} # Close {{followerZK.close();}} session at the end. > Ephemeral node is never deleted if follower fails while reading the proposal > packet > ----------------------------------------------------------------------------------- > > Key: ZOOKEEPER-2355 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2355 > Project: ZooKeeper > Issue Type: Bug > Components: quorum, server > Reporter: Arshad Mohammad > Assignee: Arshad Mohammad > Priority: Critical > Fix For: 3.4.10, 3.5.3 > > Attachments: ZOOKEEPER-2355-01.patch, ZOOKEEPER-2355-02.patch, > ZOOKEEPER-2355-03.patch, ZOOKEEPER-2355-04.patch > > > ZooKeeper ephemeral node is never deleted if follower fail while reading the > proposal packet > The scenario is as follows: > # Configure three node ZooKeeper cluster, lets say nodes are A, B and C, > start all, assume A is leader, B and C are follower > # Connect to any of the server and create ephemeral node /e1 > # Close the session, ephemeral node /e1 will go for deletion > # While receiving delete proposal make Follower B to fail with > {{SocketTimeoutException}}. This we need to do to reproduce the scenario > otherwise in production environment it happens because of network fault. > # Remove the fault, just check that faulted Follower is now connected with > quorum > # Connect to any of the server, create the same ephemeral node /e1, created > is success. > # Close the session, ephemeral node /e1 will go for deletion > # {color:red}/e1 is not deleted from the faulted Follower B, It should have > been deleted as it was again created with another session{color} > # {color:green}/e1 is deleted from Leader A and other Follower C{color} -- This message was sent by Atlassian JIRA (v6.3.4#6332)