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 <karo...@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