[
https://issues.apache.org/jira/browse/ZOOKEEPER-1751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13850792#comment-13850792
]
Enis Soztutar commented on ZOOKEEPER-1751:
------------------------------------------
Added 3.5.0 as fix version. This has been committed to trunk as well.
> ClientCnxn#run could miss the second ping or connection get dropped before a
> ping
> ---------------------------------------------------------------------------------
>
> Key: ZOOKEEPER-1751
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1751
> Project: ZooKeeper
> Issue Type: Bug
> Affects Versions: 3.4.5
> Reporter: Jeffrey Zhong
> Assignee: Jeffrey Zhong
> Fix For: 3.4.6, 3.5.0
>
> Attachments: zookeeper-1751.patch
>
>
> We could throw SessionTimeoutException exception even when timeToNextPing may
> also be negative depending on the time when the following line is executed by
> the thread because we check time out before sending a ping.
> {code}
> to = readTimeout - clientCnxnSocket.getIdleRecv();
> {code}
> In addition, we only ping twice no matter how long the session time out value
> is. For example, we set session time out = 60mins then we only try ping twice
> in 40mins window. Therefore, the connection could be dropped by OS after idle
> time out.
> The issue is causing randomly "connection loss" or "session expired" issues
> in client side which is bad for applications like HBase.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)