zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Dunning <ted.dunn...@gmail.com>
Subject Re: ANN: Curator - Netflix's ZooKeeper library
Date Tue, 11 Oct 2011 20:46:52 GMT
You asked!

I started in on reading the code last night.  I don't know if I will have
much more time to go deeper and I apologize for any superficiality of these
reactions.

My first blush is that the the builder style API is not a big win (styles
will vary of course).

I like that you have common recipes, but any time anybody starts talking
global locks in a cluster, I get hives and start looking for the fundamental
error in the interaction model.  Locks are typically a total disaster for
system reliability, throughput and probability of correct coding.

Insofar as specifics are concerned, I looked at the atomic update stuff and
don't like the fast fallback to a lock.  I think that limited randomized
exponential backoff is likely to be a more scalable solution if only because
the lock is hard to integrate into the protocol without, well, putting a
lock into the protocol (see above for my opinion on that).  Incorporating
priority of the update into the backoff time constant is one way to avoid
starvation.

What I prefer to see in this context is a method that takes a closure that
does the desired mutation and which encapsulates the necessary read, modify,
write, retry logic.

On Tue, Oct 11, 2011 at 8:18 PM, Jordan Zimmerman <jzimmerman@netflix.com>wrote:

> We'd appreciate any/all feedback, BTW.
>
> -JZ
>
> On 10/11/11 1:04 PM, "Mahadev Konar" <mahadev@hortonworks.com> wrote:
>
> >Nice.  Good to see the Apache License.
> >
> >
> >mahadev
> >
> >On Mon, Oct 10, 2011 at 2:22 PM, Jordan Zimmerman
> ><jzimmerman@netflix.com>wrote:
> >
> >> https://github.com/Netflix/curator
> >>
> >>
> >> What is Curator?
> >> Curator n: a keeper or custodian of a museum or other collection - A
> >> ZooKeeper Keeper.
> >>
> >> Curator is a set of Java libraries that make using Apache ZooKeeper much
> >> easier. While ZooKeeper comes bundled with a Java client, using the
> >>client
> >> is non-trivial and error prone.
> >>
> >> Components
> >> Client - A replacement for the bundled ZooKeeper class that takes care
> >>of
> >> some low-level housekeeping and provides some useful utilities
> >>
> >> Framework - The Curator Framework is a high-level API that greatly
> >> simplifies using ZooKeeper. It adds many features that build on
> >>ZooKeeper
> >> and handles the complexity of managing connections to the ZooKeeper
> >> cluster and retrying operations.
> >>
> >> Recipes - Implementations of some of the common ZooKeeper "recipes". The
> >> implementations are built on top of the Curator Framework
> >>
> >> Utilities - Various utilities that are useful when using ZooKeeper.
> >>
> >>
> >>
>
>

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