[ https://issues.apache.org/jira/browse/ZOOKEEPER-906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12922823#action_12922823 ]
Radu Marin commented on ZOOKEEPER-906: -------------------------------------- C client will NOW sleep for a random period (0 - 1000ms) between consecutive reconnect attempts. I will also check all hosts no matter what index has the server that is currently connected to. The random delay is independent of session expiration timeout (previously it was 1/3 of session expiration timeout) so increasing timeout will give the client more attempts to reconnect on connection loss before session expires. > Improve C client connection reliability by making it sleep between reconnect > attempts as in Java Client > ------------------------------------------------------------------------------------------------------- > > Key: ZOOKEEPER-906 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-906 > Project: Zookeeper > Issue Type: Improvement > Components: c client > Affects Versions: 3.3.1 > Reporter: Radu Marin > Attachments: ZOOKEEPER.patch > > Original Estimate: 24h > Remaining Estimate: 24h > > Currently, when a C client get disconnected, it retries a couple of hosts > (not all) with no delay between attempts and then if it doesn't succeed it > sleeps for 1/3 session expiration timeout period before trying again. > In the worst case the disconnect event can occur after 2/3 of session > expiration timeout has past, and sleeping for even more 1/3 session timeout > will cause a session loss in most of the times. > A better approach is to check all hosts but with random delay between > reconnect attempts. Also the delay must be independent of session timeout so > if we increase the session timeout we also increase the number of available > attempts. > This improvement covers the case when the C client experiences network > problems for a short period of time and is not able to reach any zookeeper > hosts. > Java client already uses this logic and works very good. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.