zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jordan Zimmerman <jor...@jordanzimmerman.com>
Subject Re: Basic client question
Date Mon, 24 Mar 2014 17:56:11 GMT
 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 danhopkins@victorops.com
Reply: user@zookeeper.apache.org user@zookeeper.apache.org
Date: March 24, 2014 at 12:27:32 PM
To: user@zookeeper.apache.org user@zookeeper.apache.org
Cc: Henry Robinson henry@cloudera.com
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 <danhopkins@victorops.com> 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 <danhopkins@victorops.com>
 
>>> 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: danhopkins@victorops.com  
>>>>  
>>>> Be Victorious  
>>>>  
>>>>  
>>>>  
>> --  
>> Dan Hopkins | Programmer  
>> e: danhopkins@victorops.com  
>>  
>> Be Victorious  
>>  
>>  
>  
>  

--  
Dan Hopkins | Programmer  
e: danhopkins@victorops.com  

Be Victorious  

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message