zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Hunt <ph...@apache.org>
Subject Re: Would this work?
Date Tue, 20 Apr 2010 23:34:22 GMT
There are a small handful of cases where the server code will 
"system.exit". This is typically only if quorum communication fails in 
some weird, unrecoverable way. We've been working to remove this (mainly 
so zk can be deployed in a container) but there are still a few cases left.

I don't see any server logs in that log snippet - having that detail 
would shed more light on why the client is unable to connect. Are you 
sure that the server is being started?


On 04/20/2010 02:25 PM, Ted Dunning wrote:
> I can't comment on the details of your code (but I have run in-process ZK's
> in the past without problem)
> Operationally, however, this isn't a great idea.  The problem is two-fold:
> a) firstly, somebody would probably like to look at Zookeeper to understand
> the state of your service.  If the service is
> down, then ZK will go away.  That means that Zookeeper can't be used that
> way and is mild to moderate
> on the logarithmic international suckitude scale.
> b) secondly, if you want to upgrade your server without upgrading Zookeeper
> then you still have to bounce
> Zookeeper.  This is probably not a problem, but it can be a slight pain.
> c) thirdly, you can't scale your service independently of how you scale
> Zookeeper.  This may or may
> not bother you, but it would bother me.
> d) fourthly, you will be synchronizing your server restarts with ZK's
> service restarts.  Moving these events
> away from each other is likely to make them slightly more reliable.  There
> is no failure mode that I know
> of that would be tickled here, but your service code will be slightly more
> complex since it has to make sure
> that ZK is up before it does stuff.  If you could make the assumption that
> ZK is up or exit, that would be
> simpler.
> e) yes, I know that is more than two issues.  That is itself an issue since
> any design where the number of worries
> is increasing so fast is suspect on larger grounds.  If there are small
> problems cropping up at that rate, the likelihood
> of there being a large problem that comes up seems higher.
> Your choice and your mileage will vary.
> On Tue, Apr 20, 2010 at 1:25 PM, Avinash Lakshman<
> avinash.lakshman@gmail.com>  wrote:
>> This may sound weird but I want to know if there is something inherent that
>> would preclude this from working. I want to have a thrift based service
>> which exposes some API to read/write to certain znodes. I want ZK to run
>> within the same process. So I will start the ZK process from within my main
>> using QuorumPeerMain.main(). Now the implementation of my API would
>> instantiate a ZooKeeper object and try reading/writing from specific znodes
>> as the case may be. I tried running this and as soon as I instantiate my
>> ZooKeeper object I get some really weird exceptions. What is wrong in this
>> approach?

View raw message