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 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 ; 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 ) 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 , tarantool-patches@dev.tarantool.org References: In-Reply-To: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Serge Petrenko via Tarantool-patches Reply-To: Serge Petrenko Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" 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