> In your example (conenctionTimeout = 10, sessionTimeout = 60, 3 nodes), if >> the first node that gets picked up is down it will timeout after 20 sec. So >> Curator would fail to connect yet the ensemble is available. > > > How can this timeout after 20 secs, if the connection timeout is 10 > seconds? Also, >
Curator's connectionTimeout is to be understood as connection to the whole ensemble, not individual node. How long do you think the ZooKeeper API will wait for a connection before trying the next node? The answer is sessionTimeout / #nodes = 60 / 3 = 20 seconds. 0 sec - try 1st node 20 sec - try 2nd node 40 sec - try 3rd node Now if Curator has a cap at 10 seconds, it won't wait for the ZK API to reach the other 2 nodes. Hope that's clearer. Benjamin > > So Curator would fail to connect yet the ensemble is available > > > Can you explain the above statement then? As for my understanding, > curator will try all Zookeeper nodes until it connects to an up and running > zookeeper server or until the connection timeout. > > -Imesha > > On 2 November 2016 at 10:45, Cameron McKenzie <[email protected]> > wrote: > >> Session timeout is a Zookeeper concept. It's just the amount of time (in >> MS) that a client session can be idle for before the Zookeeper server times >> it out. A heart beat keeps the session alive, so the session will only >> time out due to network issues. >> >> The connection timeout is a Curator concept. Jordan described its use in >> this thread. Basically, it just defines how long Curator will wait for a >> connection to be established to Zookeeper before giving up and trying again. >> >> On Wed, Nov 2, 2016 at 4:00 PM, Imesha Sudasingha < >> [email protected]> wrote: >> >>> Hello all, >>> >>> I was going through this thread and found out I too need a clear >>> explanation on "what is connectionTimeout and sessionTimeout". Even though >>> you have discussed a lot about it(which I have read), still I'm not getting >>> a clear picture. Can someone elaborate on the it? And give a clear view of >>> those 2 parameters and what they are for? >>> >>> Thanks! >>> >>> Regards, >>> Imesha Sudasingha >>> >>> On Nov 2, 2016 4:26 AM, "Jordan Zimmerman" <[email protected]> >>> wrote: >>> >>>> >>>> so if we use a connectionTimeout smaller than sessionTimeout, we may >>>> fail before having tried all the nodes. >>>> >>>> >>>> That’s correct and up to you. That’s why these are configurable >>>> options. Use values that make sense for your applications. >>>> >>>> -Jordan >>>> >>>> >>>> >>>> >> > > > -- > *Imesha Sudasingha* > Undergraduate of Department of Computer Science and Engineering, > University of Moratuwa. > +94717086160 > View in Linkedin <https://lk.linkedin.com/in/imeshasudasingha> >
