From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <tarantool-patches-bounces@dev.tarantool.org>
Received: from [87.239.111.99] (localhost [127.0.0.1])
	by dev.tarantool.org (Postfix) with ESMTP id E32146F879;
	Tue, 25 Jan 2022 13:18:26 +0300 (MSK)
DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org E32146F879
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev;
	t=1643105907; bh=A/1kUPwWTCTgqt5dC2fFAXuTRviMBtUvaheVlI911Vk=;
	h=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
	 From;
	b=WeHYZZmzeLqbwXSsUsa7/aQwz8JeY0KUuOzTN8f8gEYZBApm7KhPbGfQGEs3/AayE
	 Ot75clk9wgh02jt9c8LjBMwn3h95DnnfDotInwAUURNLc+O4L6OMzToomjcDu5CKBa
	 wBvdF5ReoGFbAY0crjVmudWc6Zdu/7FniU+5pUY4=
Received: from smtp47.i.mail.ru (smtp47.i.mail.ru [94.100.177.107])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dev.tarantool.org (Postfix) with ESMTPS id C9DB36F879
 for <tarantool-patches@dev.tarantool.org>;
 Tue, 25 Jan 2022 13:18:06 +0300 (MSK)
DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org C9DB36F879
Received: by smtp47.i.mail.ru with esmtpa (envelope-from
 <sergepetrenko@tarantool.org>)
 id 1nCItp-0000Ba-Tj; Tue, 25 Jan 2022 13:18:06 +0300
Message-ID: <28ee7510-8379-a1e7-7f3d-e5c4d132e528@tarantool.org>
Date: Tue, 25 Jan 2022 13:18:05 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Content-Language: ru
To: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>,
 tarantool-patches@dev.tarantool.org
References: <cover.1642639079.git.v.shpilevoy@tarantool.org>
In-Reply-To: <cover.1642639079.git.v.shpilevoy@tarantool.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-4EC0790: 10
X-7564579A: 646B95376F6C166E
X-77F55803: 4F1203BC0FB41BD9AA78FDF62ECAE61FF13F204EA2BDEB7EE91D6674DF21EB76182A05F5380850400E0469C9866B7937C16728848CDCB07A48FA935BEA4A2CF5D8A9C51EC1EFA931
X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7F1942E6D70B4A2F0EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006376AFB9B40001E44068638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8378DA9988F52A7CECD0DAB391DF02E80117882F4460429724CE54428C33FAD305F5C1EE8F4F765FCAA867293B0326636D2E47CDBA5A96583BD4B6F7A4D31EC0BC014FD901B82EE079FA2833FD35BB23D27C277FBC8AE2E8B2EE5AD8F952D28FBA471835C12D1D977C4224003CC836476EB9C4185024447017B076A6E789B0E975F5C1EE8F4F765FCB0A7205CD07024573AA81AA40904B5D9CF19DD082D7633A078D18283394535A93AA81AA40904B5D98AA50765F79006378781F1F3A16E20D8D81D268191BDAD3D698AB9A7B718F8C4D1B931868CE1C5781A620F70A64A45A98AA50765F79006372E808ACE2090B5E1725E5C173C3A84C3C5EA940A35A165FF2DBA43225CD8A89F83C798A30B85E16B262FEC7FBD7D1F5BB5C8C57E37DE458BEDA766A37F9254B7
X-C1DE0DAB: 0D63561A33F958A5C0F20548F395AFBB10E5E2249D95DCC2117F2678171B6CD2D59269BC5F550898D99A6476B3ADF6B47008B74DF8BB9EF7333BD3B22AA88B938A852937E12ACA75913C2247C57F08EB410CA545F18667F91A7EA1CDA0B5A7A0
X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D341776B9FDE05FBA7A3E087AB9901D0333EC2450AB09F6975F06D80FF7C6058A4E13BE9C41C2097F371D7E09C32AA3244CA33756DC0FC0C656C4C420E07DE0F9FA1E098CBE561D6343729B2BEF169E0186
X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojF0Kx79yI7sX2Lzio9ZVLdQ==
X-Mailru-Sender: 583F1D7ACE8F49BDA1AB7BAC9906293E160A9EA8DA6AE0AF277699DFB79A74AA7201E55E3F00BA51424AE0EB1F3D1D21E2978F233C3FAE6EE63DB1732555E4A8EE80603BA4A5B0BCB0DAF586E7D11B3E67EA787935ED9F1B
X-Mras: Ok
Subject: Re: [Tarantool-patches] [PATCH v2 0/5] Split vote and bugs
X-BeenThere: tarantool-patches@dev.tarantool.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: Tarantool development patches <tarantool-patches.dev.tarantool.org>
List-Unsubscribe: <https://lists.tarantool.org/mailman/options/tarantool-patches>, 
 <mailto:tarantool-patches-request@dev.tarantool.org?subject=unsubscribe>
List-Archive: <https://lists.tarantool.org/pipermail/tarantool-patches/>
List-Post: <mailto:tarantool-patches@dev.tarantool.org>
List-Help: <mailto:tarantool-patches-request@dev.tarantool.org?subject=help>
List-Subscribe: <https://lists.tarantool.org/mailman/listinfo/tarantool-patches>, 
 <mailto:tarantool-patches-request@dev.tarantool.org?subject=subscribe>
From: Serge Petrenko via Tarantool-patches
 <tarantool-patches@dev.tarantool.org>
Reply-To: Serge Petrenko <sergepetrenko@tarantool.org>
Errors-To: tarantool-patches-bounces@dev.tarantool.org
Sender: "Tarantool-patches" <tarantool-patches-bounces@dev.tarantool.org>



20.01.2022 03:43, Vladislav Shpilevoy пишет:
> Split vote handling in Raft, its usage in storage, and 2 bug fixes found while
> working on this.
>
> Changes in v2:
> - dropped ev_timer.at usage;
> - disabled split-vote detection for cluster < quorum;
> - disabled split-vote for vote count > cluster;
> - re-checked split vote after WAL write;
> - re-checked split vote on quorum change.
>
> Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-5285-raft-split-vote
> Issue: https://github.com/tarantool/tarantool/issues/5285
>
> Vladislav Shpilevoy (5):
>    raft: fix crash on election_timeout reconfig
>    raft: fix ev_timer.at incorrect usage
>    raft: track all votes, even not own
>    raft: introduce split vote detection
>    election: activate raft split vote handling
>
>   .../unreleased/election-timeout-cfg-crash.md  |   5 +
>   src/box/raft.c                                |   4 +-
>   src/lib/fakesys/fakeev.c                      |  10 +-
>   src/lib/raft/raft.c                           | 222 ++++++++--
>   src/lib/raft/raft.h                           |  32 +-
>   .../election_split_vote_test.lua              |  92 ++++
>   test/unit/raft.c                              | 393 +++++++++++++++++-
>   test/unit/raft.result                         |  87 +++-
>   test/unit/raft_test_utils.c                   |  12 +
>   test/unit/raft_test_utils.h                   |   5 +
>   10 files changed, 803 insertions(+), 59 deletions(-)
>   create mode 100644 changelogs/unreleased/election-timeout-cfg-crash.md
>   create mode 100644 test/replication-luatest/election_split_vote_test.lua
>
LGTM. Thanks!

-- 
Serge Petrenko