You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "surendra singh lilhore (JIRA)" <ji...@apache.org> on 2015/05/02 13:17:06 UTC

[jira] [Updated] (ZOOKEEPER-2126) ClientCnxn.close doesn't wait for eventThread exit which cause out of order log when close Zookeeper client session.

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-2126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

surendra singh lilhore updated ZOOKEEPER-2126:
----------------------------------------------
    Attachment: ZOOKEEPER-2126_1.patch

Thanks [~rakeshr] for review and suggestion..

Attached new patch.. Please review..

> ClientCnxn.close doesn't wait for eventThread exit which cause out of order log when close Zookeeper client session.
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2126
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2126
>             Project: ZooKeeper
>          Issue Type: Improvement
>    Affects Versions: 3.6.0
>            Reporter: zhihai xu
>            Assignee: surendra singh lilhore
>         Attachments: ZOOKEEPER-2126.patch, ZOOKEEPER-2126_1.patch
>
>
> We saw the following out of order log when close Zookeeper client session.
> {code}
> 2015-02-16 06:01:12,985 INFO org.apache.zookeeper.ZooKeeper: Session: 0x24b8df4044005d4 closed
> .....................................
> 2015-02-16 06:01:12,995 INFO org.apache.zookeeper.ClientCnxn: EventThread shut down
> {code}
> This logs are very confusing if a new Zookeeper client session is created between these two logs. We may think new Zookeeper client session shutdown it EventThread instead of the old closed Zookeeper client session.
> Should we wait for sendThread and eventThread died in the ClientCnxn.close?
> We can add the following code in ClientCnxn.close.
> {code}
> sendThread.join(timeout);
> eventThread.join(timeout);
> {code}
> with the change, we won't interleave old closed session with new session.
> We can also create a new close API to support this so we won't affect the old code if people use old close API.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)