From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 5A80A6EC55; Tue, 20 Jul 2021 23:18:23 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 5A80A6EC55 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1626812303; bh=iqYEyg0rNp1zbi5/Yb9TZmpPb68Y2iK2KKeQ5yQFYUw=; h=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=mCza3pcS7Cw6z4tDEFtUT4Hj4xPVvs+F0MsSPVBse/S+obalJ/jTvGwCht3qdBpE/ ZloxEajpLVIvD1iuFLlvx3BfWvIQ01mUqmmDIsxZFkI3kO7TInBKJt5Ac0ybpMyUL/ hdGpkbeKvHO1lXb637J/JcDiB4vQhDxs9tFD5Cic= Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 2521F6EC55 for ; Tue, 20 Jul 2021 23:18:22 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 2521F6EC55 Received: by mail-lf1-f43.google.com with SMTP id b26so37676763lfo.4 for ; Tue, 20 Jul 2021 13:18:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to; bh=gWiMlnqKfHcZN2BjzRwR7D9EzKQ6w+x64RH9nUTik+g=; b=jSMqUGT4axST3nNJOZxYD+7LNfZMuRQrrLbjG5SXLS8yVX5jTCNBifXQFH9ke9+uSx HLLAZc3nkH22TXe4daLpNXyOf0v8dF+2uVO+oxzF5OrF6VORgZWV4/mMW/5Xr7lx/0VM 473pD9Yfg8tTT6JwCwsa21+W4o1U8V9fAGqQNfNMErtGm8hKFXDj8fu7G1oPJJ2qM4ch UaTVfERCgbeq1t6wOS8MAv8ZTaT1oo8MAEQ233RUAtplZd7sxrIzt+bTRNvSwH6hi1/l l1kvRnCqyISZi+PzD9mRTS8/JyQWMIjs2nmNrTVVtZZesn6AW1yi/ta/3jDrXPoNWJ4N TMIA== X-Gm-Message-State: AOAM533HM/CGBn47JrndWKX2w9etyC7UMSfCiyPVDHh9tqLQRyf5Onpa dPZyZw2UrhJYtjfzLd0vusDLbQRNkw== X-Google-Smtp-Source: ABdhPJyMOdEOOa4Xq5Ka+x1OlMBbUsZ1/+GCB/2HeppvGBrSUHXEgAFL2k28fjqbd6OZ48k1CAqNMA== X-Received: by 2002:a19:c502:: with SMTP id w2mr23038426lfe.460.1626812301313; Tue, 20 Jul 2021 13:18:21 -0700 (PDT) Received: from sterling.local ([46.188.68.12]) by smtp.gmail.com with ESMTPSA id o14sm1597520lfd.144.2021.07.20.13.18.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Jul 2021 13:18:20 -0700 (PDT) Received: by sterling.local (Postfix, from userid 1000) id 25BCDE63818; Tue, 20 Jul 2021 23:18:19 +0300 (MSK) Date: Tue, 20 Jul 2021 23:18:19 +0300 To: Vladislav Shpilevoy Message-ID: <20210720201819.GA71287@starling> Mail-Followup-To: Konstantin Osipov , Vladislav Shpilevoy , tarantool-patches@dev.tarantool.org, gorcunov@gmail.com, sergepetrenko@tarantool.org References: <0c92a88ff1d392f8b03de59be8cb19a162bf78f8.1626392372.git.v.shpilevoy@tarantool.org> <20210716142959.GC146960@starling> <20210719091248.GA4257@starling> <20210720084947.GA58808@starling> <5cee0ccb-9c87-701c-96e7-2bee12ccc365@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5cee0ccb-9c87-701c-96e7-2bee12ccc365@tarantool.org> Subject: Re: [Tarantool-patches] [PATCH 1/2] replication: introduce ballot.can_be_leader X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Konstantin Osipov via Tarantool-patches Reply-To: Konstantin Osipov Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" * Vladislav Shpilevoy [21/07/20 23:06]: > >>> > >>> Imagine there are nodes A, B, C, D, E. ^^^ > >>> A is a leader, E is a voter which can not become a leader. > >>> > >>> Imagine A's log index is 5, B = 4, C = 3, D = 2, E = 5. > >>> > >>> The majority's log index is 4, so entry 4 is committed. A dies, B > >>> is partitioned away. The cluster is stuck, because neither C nor B > >>> can get a quorum (3 votes). > >> > >> But how is it different from the real Raft? In normal Raft I can say > >> E simply is too slow to make any actions. It is just stuck or died. > >> The cluster will be stuck then, yes. Not much you can do here. > > > > In a real raft: > > - liveness is guaranteed if quorum is present; this guarantee here > > is not held > > - you never sacrifice safety for liveness; you never lose > > committed entries if quorum is present; and you never lose it > > unnoticed! here you can lose a committed entry and not notice > > it. > > Please, show me an example. The example above only shows that the > election might stop if there are issues with the quorum. And this > will happen regardless of whether I have voter role or not. In normal > Raft you can kill 3/5 nodes and nothing will work too. What is not clear with the example above? In it, I kill 2 out of 5, not 3 out of 5. And no, in Raft "nothing will work" is not correct. The system will not be live, but will be safe. -- Konstantin Osipov, Moscow, Russia