Devs, Given that Curator 3.0 will try to accurately track the session, I realize I’m a bit confused about when a session actually expires. In the implementation I pushed, a timer starts when Watcher.Event.KeeperState.Disconnected is seen. Then, if the negotiated session timeout elapses, Curator simulates a session expiration. However, the timeout is based on the saved time when Disconnected is seen. I’ve been searching in the ZK code and it’s hard to tell if that’s correct. I’d appreciate a few other eyes on this. The significant class in ZK is SessionTrackerImpl.java. touchSession() is called periodically and a kind of priority queue is used to pull out expiring sessions.
Thanks! -Jordan
