Check out the SessionTracker and SessionTrackerImpl, that is what the servers use to keep track of session liveness.
On Sat, Jul 16, 2011 at 4:44 AM, Yang <[email protected]> wrote: > I'm wondering if a client loses session to its ephemeral znode, under > the hood, how > is the watcher triggered? > > went through the code , and found something that looks related: > ZKDataBase.killSession()-->DataTree.killSession()--->DataTree.deleteNode()--->WatchManager.triggerWatch()--->Watcher.process() > > but how is ZKDataBase.killSession() called? from the info given in > http://zookeeper.apache.org/doc/r3.3.3/zookeeperProgrammers.html#ch_zkSessions > I can see the ZooKeeper client code does periodically ping the server > to maintain liveness. but how the server checks for this liveness and > trigger killSession(), here I'm having difficulty connecting the dots. > > could you please give me some help walking through this piece of code? > > Thanks > Yang >
