[ 
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)

Reply via email to