I'm definitely not trying to predict the 
future, only trying to react in the case of an inconsistent cluster and 
cover the pathological cases where ZooKeeper itself is down. The code 
will also rejoin the cluster if it reappears. 
This is what Curator attempts to do. It provides a framework for managing the 
underlying ZooKeeper connection. You can then write recipes (and Curator comes 
with many) that take advantage of connection management. There are a bunch of 
folks using it from Scala (and Clojure for that matter). So, there should be 
plenty of examples.



-JZ



From: Dan Hopkins [email protected]
Reply: [email protected] [email protected]
Date: March 24, 2014 at 12:27:32 PM
To: [email protected] [email protected]
Cc: Henry Robinson [email protected]
Subject:  Re: Basic client question  

Yes, this is a great point. I'm definitely not trying to predict the  
future, only trying to react in the case of an inconsistent cluster and  
cover the pathological cases where ZooKeeper itself is down. The code  
will also rejoin the cluster if it reappears.  

Curator's Framework and Client utils seem like the right tool. My only  
hesitency initially was poor Scala integration, but a thin shim ought  
to be good enough.  

Thanks again Camille & Henry,  
Dan  

On Mon 24 Mar 2014 11:06:55 AM MDT, Henry Robinson wrote:  
> It's also important to realise that 'never' is a property that's impossible  
> to detect. The client has no idea if a failure is permanent, because that  
> would require the ability to see into the future.  
>  
> So the best you can do is guess, somehow, and as Camille says timeouts are  
> the best blunt instrument we have.  
>  
>  
> On 24 March 2014 09:48, Dan Hopkins <[email protected]> wrote:  
>  
>> Camille,  
>> I'm trying to figure out what timeout you're referring to? I'm using  
>> zkClient that ships with ZooKeeper and the only timeout I can see to  
>> configure is the "session timeout." Does this timeout work even if you  
>> never hear back from any server?  
>>  
>> Thanks,  
>> Dan  
>>  
>>  
>> On 03/24/2014 10:31 AM, Camille Fournier wrote:  
>>  
>>> So, client will never be able to reach the server again? The client that  
>>> you use (and we generally recommend you use an existing client library  
>>> like  
>>> Curator or even zkClient instead of writing your own) should have some  
>>> sort  
>>> of timeout configured so that if it gets disconnected and can't reach the  
>>> server within some period of time it gives up.  
>>>  
>>> C  
>>>  
>>>  
>>> On Mon, Mar 24, 2014 at 12:01 PM, Dan Hopkins <[email protected]>  
>>> wrote:  
>>>  
>>> As a beginner using zookeeper I was wondering if anyone could help me  
>>>> understand how the java ZooKeeper client handles a permanent disconnect  
>>>> from the cluster. I'm curious because as I read the FAQ we can get a  
>>>> Session expiration if we ever connect to the server but I'm not sure what  
>>>> to do if I can never connect again.  
>>>>  
>>>> Is there a different exception thrown after a the client has detected  
>>>> permanent failure?  
>>>>  
>>>> I'm currently using Zk 3.3.4 in case the behavior has changed.  
>>>>  
>>>> Thanks for any pointers,  
>>>> Dan  
>>>>  
>>>> --  
>>>> Dan Hopkins | Programmer  
>>>> e: [email protected]  
>>>>  
>>>> Be Victorious  
>>>>  
>>>>  
>>>>  
>> --  
>> Dan Hopkins | Programmer  
>> e: [email protected]  
>>  
>> Be Victorious  
>>  
>>  
>  
>  

--  
Dan Hopkins | Programmer  
e: [email protected]  

Be Victorious  

Reply via email to