> 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>
>

Reply via email to