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

Reply via email to