zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "surendra singh lilhore (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ZOOKEEPER-2126) ClientCnxn.close doesn't wait for eventThread exit which cause out of order log when close Zookeeper client session.
Date Sat, 02 May 2015 11:17:06 GMT

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

Mime
View raw message