zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karolos Antoniadis <karo...@gmail.com>
Subject Re: Consistency Guarantees
Date Sun, 18 Aug 2019 18:47:08 GMT
Hi Jordan,

When Aphyr tested ZooKeeper, he did not seem to know that it is not
linearizable. See here: https://github.com/jepsen-io/jepsen/issues/399, where
I pointed-out that even with *sync + read*, ZooKeeper might return stale
data.

ZooKeeper can only be considered linearizable if we assume that specific
timing constraints apply. Naturally, in a real system, we cannot make such
assumptions if we want to be 100% safe.
For instance, if the time(TCP timeout) > (syncLimit * tickTime), ZooKeeper
provides linearizable reads. However, if this does not hold (e..g, skewed
clocks), then ZooKeeper might return stale data.
To conclude, I do not think we can argue that ZooKeeper is linearizable.

Cheers,
Karolos


On Sun, 18 Aug 2019 at 11:34, Jordan Zimmerman <jordan@jordanzimmerman.com>
wrote:

> ZooKeeper _is_ linearizable. I’m pretty sure the ZAB paper talks about it.
> Aphyr does as well here: https://aphyr.com/posts/291-jepsen-zookeeper
>
> ====================
> Jordan Zimmerman
>
> > On Aug 18, 2019, at 1:23 PM, Karolos Antoniadis <karolos@gmail.com>
> wrote:
> >
> > Hello everyone,
> >
> > I was wondering on the exact consistency guarantees that ZooKeeper
> provides.
> > It seems that ZooKeeper does not provide strong consistency (i.e.,
> > linearizability) since reads could potentially return arbitrarily old
> > values.
> > On the other hand, ZooKeeper provides sequential consistency, since the
> > order of operations of a specific client is respected and all operations
> > appear to take place in some total order (
> > https://jepsen.io/consistency/models/sequential).
> > However, ZooKeeper provides linearizable writes, and therefore it
> provides
> > something stronger than sequential consistency, but still not as strong
> as
> > linearizability. In other words, ZooKeeper guarantees are somewhere
> between
> > sequential consistency and linearizability.
> > Is there a specific name for the specific consistency guarantees that
> > ZooKeeper provides?
> > What would the ZooKeeper community claim about the consistency guarantees
> > of ZooKeeper?
> >
> > Best Regards,
> > Karolos
>

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