That’s correct Benjamin. As Curator wraps the library-provided ZooKeeper class 
there’s nothing Curator can do about this. I’ll try to write a Tech Note about 
this when I can. If you don’t mind, Benjamin, maybe you could write it?

https://cwiki.apache.org/confluence/display/CURATOR/Tech+Notes

-Jordan

> On Nov 2, 2016, at 11:08 AM, Benjamin Jaton <[email protected]> wrote:
> 
> 
> 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] 
> <mailto:[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] 
> <mailto:[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] 
> <mailto:[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 <tel:%2B94717086160>
> View in Linkedin <https://lk.linkedin.com/in/imeshasudasingha>

Reply via email to