[ 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.patch > 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 > Reporter: zhihai xu > Assignee: surendra singh lilhore > Attachments: ZOOKEEPER-2126.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)