You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Chang Song (JIRA)" <ji...@apache.org> on 2011/07/26 06:47:09 UTC

[jira] [Commented] (ZOOKEEPER-366) Session timeout detection can go wrong if the leader system time changes

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13070942#comment-13070942 ] 

Chang Song commented on ZOOKEEPER-366:
--------------------------------------

Mahadev.

Can we have some traction on this fix?
We have experienced the same problem, and thus it wreak havoc on our deployment.

Can we have the patch updated for current release?

Thank you very much.

Chang


> Session timeout detection can go wrong if the leader system time changes
> ------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-366
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-366
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: quorum, server
>            Reporter: Benjamin Reed
>            Assignee: Benjamin Reed
>             Fix For: 3.5.0
>
>         Attachments: ZOOKEEPER-366.patch
>
>
> the leader tracks session expirations by calculating when a session will timeout and then periodically checking to see what needs to be timed out based on the current time. this works great as long as the leaders clock progresses at a steady pace. the problem comes when there are big (session size) changes in clock, by ntp for example. if time gets adjusted forward, all the sessions could timeout immediately. if time goes backward sessions that should timeout may take a lot longer to actually expire.
> this is really just a leader issue. the easiest way to deal with this is to have the leader relinquish leadership if it detects a big jump forward in time. when a new leader gets elected, it will recalculate timeouts of active sessions.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira