zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Reed <br...@apache.org>
Subject Re: help on Zookeeper code walk through?
Date Sun, 17 Jul 2011 00:27:45 GMT
if you are running with multiple servers, it is the leader that
declares sessions dead, so the leader will call killSession(). the
followers track the liveness of the clients with pings and will
periodically send liveness summaries to the leader.

see camille's email the specific classes to look at.


On Sat, Jul 16, 2011 at 1:44 AM, Yang <teddyyyy123@gmail.com> 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

View raw message