From dev-return-82488-archive-asf-public=cust-asf.ponee.io@zookeeper.apache.org Sun Aug 18 23:09:57 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 3EEE5180608 for ; Mon, 19 Aug 2019 01:09:57 +0200 (CEST) Received: (qmail 45052 invoked by uid 500); 18 Aug 2019 23:09:56 -0000 Mailing-List: contact dev-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@zookeeper.apache.org Delivered-To: mailing list dev@zookeeper.apache.org Received: (qmail 45040 invoked by uid 99); 18 Aug 2019 23:09:56 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 18 Aug 2019 23:09:56 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 8C0E8C0F6F for ; Sun, 18 Aug 2019 23:09:55 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.8 X-Spam-Level: * X-Spam-Status: No, score=1.8 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-he-de.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id Vo2gEVLRgScc for ; Sun, 18 Aug 2019 23:09:52 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a00:1450:4864:20::231; helo=mail-lj1-x231.google.com; envelope-from=shralex@gmail.com; receiver= Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) by mx1-he-de.apache.org (ASF Mail Server at mx1-he-de.apache.org) with ESMTPS id 05B9F7D3FA for ; Sun, 18 Aug 2019 23:09:51 +0000 (UTC) Received: by mail-lj1-x231.google.com with SMTP id z17so28011ljz.0 for ; Sun, 18 Aug 2019 16:09:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=73gOikGUgUeZfjtDsJLzmhC9U7gpwGH3abv8osUWJEg=; b=G6vNHX1gZnJAXOgRoO3SA2qIU5BgS8IANlMq9HhVYj+L0MaxAa1KeVSeqpFBGf4i+N n60/D2YoEOTdMsgUHDnPQ37GzG63Ml9I2sz/XAgbvEWNd770zYtthZHDat6CHYYFhvPC q5bFt6Sq+/wKjonEt1HzneKha4PAPEE+X9Sl7sWP+OXQpF/J4OHwH4dor0K89eVySOCa I5IvcEnTEJ3GvYsEDOs8Ywaca/R9+FQndYyRTWuR3KH/Ausp7TRV4bXv/4a3YF9/1RoO 5kDrmTihWh8be55kIG2rn2272Rv7z2GHM9p41EyfJGNutCZ3T2nREeej9/NJ9EAHFy/M wyRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=73gOikGUgUeZfjtDsJLzmhC9U7gpwGH3abv8osUWJEg=; b=tJekK2LJ3d6kfWWb96WjL2a2nfBGgBnIMVAL4HjwAbvIQEoQ8n+OhUKpCSVaHwDfw5 svxhD5s4/SmLq7bTmd27ARWxnmnAapAPTtiyXNLxvO5oiHfTqA5hs+bXkitKqeNBDuc/ nzgM1XslXyLElq+2F7cakunTuX7z0VKIJbwGJKo5cZeANHyNUf5vZlnxrx6NV3qNfMRD AgZoxgcb1MHy85ptQSKCtfYmFdO1Y2t4nA+nKGOKPUD8zM80C2gKLETav/EKrHo0yM7o WXyjngB+7Jf5IdcCUjbWUKmgoSiMZ2M8esB+gk31Pu6q0rTlvu2oR1vgKk/jQ9DEE0i4 QPTA== X-Gm-Message-State: APjAAAWuyVxfJz+NFXH6oRhDc1k1e+mGXkGs/G7gZS+LemSCMRgSdcsp hCZ5AtyyASrjKxYnHVTDTuVbE4EHnXI4ry3g5ogFVmqY X-Google-Smtp-Source: APXvYqyUzwnrmEE1IVK9fxDbx/Pzb22gBlnOaw52bXEeI2lwak17gPuEVsbld6gKndakZVVAz6q/IBRVrxsuLdMvqV4= X-Received: by 2002:a2e:9acf:: with SMTP id p15mr11217654ljj.13.1566169791062; Sun, 18 Aug 2019 16:09:51 -0700 (PDT) MIME-Version: 1.0 References: <5DB8B1B0-AC8B-4567-985C-083AFFD237E8@jordanzimmerman.com> <79786080-D0F8-46F4-AB21-D8624EBCA2A0@jordanzimmerman.com> In-Reply-To: From: Alexander Shraer Date: Sun, 18 Aug 2019 16:09:40 -0700 Message-ID: Subject: Re: Consistency Guarantees To: dev@zookeeper.apache.org, Kfir Lev-Ari Content-Type: multipart/alternative; boundary="0000000000000de70305906c5247" --0000000000000de70305906c5247 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable +Kfir Lev-Ari On Sun, Aug 18, 2019 at 3:56 PM Alexander Shraer wrote: > Hi Karolos, > > You're right about the timing assumptions needed to make sync+read / > writes linearizable. This is a tradeoff many systems make, the risk of > violating linearizability due to this > is usually considered minimal while the benefit of saving a quorum > operation on reads is significant. Nevertheless, we do consider this a > problem and there is an open jira. I believe Michael was looking at it > recently. > > Ignoring this issue for a second, Kfir Lev-Ari (together with me), tried > to answer your question by defining a new consistency semantics that > captures ZK: http://webee.technion.ac.il/people/idish/ftp/OSC-IPL17.pdf > This was done in the context of this work: > https://www.usenix.org/system/files/conference/atc16/atc16_paper-lev-ari.= pdf > > Cheers, > Alex > > On Sun, Aug 18, 2019 at 12:34 PM Jordan Zimmerman < > jordan@jordanzimmerman.com> wrote: > >> Isn=E2=80=99t this a =E2=80=9Cno true Scotsman=E2=80=9D argument? By thi= s definition any >> eventually consistent system can never be considered linearizable. Right= ? >> >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> Jordan Zimmerman >> >> > On Aug 18, 2019, at 1:47 PM, Karolos Antoniadis >> wrote: >> > >> > 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 sta= le >> > data. >> > >> > ZooKeeper can only be considered linearizable if we assume that specif= ic >> > 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 linearizabl= e. >> > >> > Cheers, >> > Karolos >> > >> > >> > On Sun, 18 Aug 2019 at 11:34, Jordan Zimmerman < >> jordan@jordanzimmerman.com> >> > wrote: >> > >> >> ZooKeeper _is_ linearizable. I=E2=80=99m pretty sure the ZAB paper ta= lks about >> it. >> >> Aphyr does as well here: https://aphyr.com/posts/291-jepsen-zookeeper >> >> >> >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> >> Jordan Zimmerman >> >> >> >>> On Aug 18, 2019, at 1:23 PM, Karolos Antoniadis >> >> 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 ol= d >> >>> 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 tha= t >> >>> ZooKeeper provides? >> >>> What would the ZooKeeper community claim about the consistency >> guarantees >> >>> of ZooKeeper? >> >>> >> >>> Best Regards, >> >>> Karolos >> >> >> > --0000000000000de70305906c5247--