Tarantool development patches archive
 help / color / mirror / Atom feed
From: "Alexander V. Tikhonov" <avtikhon@tarantool.org>
To: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH v2 00/16] Raft module, part 2 - relocation to src/lib/raft
Date: Mon, 23 Nov 2020 08:30:21 +0300	[thread overview]
Message-ID: <20201123053021.GA45371@hpalx> (raw)
In-Reply-To: <cover.1605829282.git.v.shpilevoy@tarantool.org>

Hi Vlad, thanks for the patch, as I see no new degradation found in
gitlab-ci testing commit criteria pipeline [1], patch LGTM.

[1] - https://gitlab.com/tarantool/tarantool/-/pipelines/219744245

On Fri, Nov 20, 2020 at 12:45:56AM +0100, Vladislav Shpilevoy wrote:
> The patchset is a second part of Raft relocation to a new module for the sake of
> unit testing. This part does the relocation itself.
> 
> It entirely consists of removal of box dependencies from raft code.
> 
> The third part will virtualize Raft event loop at compile-time, and will
> introduce customizable implementations for network, disk, event loop, and time
> to perform unit tests.
> 
> Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-5303-p2-src-lib-raft
> Issue: https://github.com/tarantool/tarantool/issues/5303
> 
> Changes in v2:
> - Renames and comment fixes;
> - Fixed the bug when a follower could be writable for some time. But don't know
>   how to test it in a sane way. Should be easy to cover in a unit test though.
>   The fix is done in the commits from "raft: make worker non-cancellable during
>   WAL write" to "move RO summary update to box-Raft".
> 
> Vladislav Shpilevoy (16):
>   raft: move sources to raftlib.h/.c
>   raft: move box_raft_* to src/box/raft.h and .c
>   raft: stop using replication_disconnect_timeout()
>   raft: stop using replication_synchro_quorum
>   raft: stop using instance_id
>   raft: make raft_request.vclock constant
>   raft: stop using replicaset.vclock
>   raft: introduce vtab for disk and network
>   raft: introduce raft_msg, drop xrow dependency
>   raft: make worker non-cancellable during WAL write
>   raft: move worker fiber from Raft library to box
>   raft: move synchro queue clear to the worker fiber
>   raft: invoke update triggers within state machine
>   raft: move RO summary update to box-Raft
>   raft: introduce RaftError
>   raft: move algorithm code to src/lib/raft
> 
>  src/box/CMakeLists.txt      |    2 +-
>  src/box/applier.cc          |    2 +-
>  src/box/box.cc              |   44 +-
>  src/box/memtx_engine.c      |    4 +-
>  src/box/raft.c              | 1200 ++++++-----------------------------
>  src/box/raft.h              |  252 +-------
>  src/box/replication.cc      |    3 +
>  src/box/xrow.c              |    2 +-
>  src/box/xrow.h              |    6 +-
>  src/lib/CMakeLists.txt      |    1 +
>  src/lib/core/diag.h         |    2 +
>  src/lib/core/exception.cc   |   24 +
>  src/lib/core/exception.h    |    7 +
>  src/lib/raft/CMakeLists.txt |    7 +
>  src/lib/raft/raft.c         |  997 +++++++++++++++++++++++++++++
>  src/lib/raft/raft.h         |  357 +++++++++++
>  16 files changed, 1652 insertions(+), 1258 deletions(-)
>  create mode 100644 src/lib/raft/CMakeLists.txt
>  create mode 100644 src/lib/raft/raft.c
>  create mode 100644 src/lib/raft/raft.h
> 
> -- 
> 2.24.3 (Apple Git-128)
> 

  parent reply	other threads:[~2020-11-23  5:30 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-19 23:45 Vladislav Shpilevoy
2020-11-19 23:45 ` [Tarantool-patches] [PATCH v2 01/16] raft: move sources to raftlib.h/.c Vladislav Shpilevoy
2020-11-19 23:45 ` [Tarantool-patches] [PATCH v2 10/16] raft: make worker non-cancellable during WAL write Vladislav Shpilevoy
2020-11-20  8:33   ` Serge Petrenko
2020-11-19 23:45 ` [Tarantool-patches] [PATCH v2 11/16] raft: move worker fiber from Raft library to box Vladislav Shpilevoy
2020-11-20  9:06   ` Serge Petrenko
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 12/16] raft: move synchro queue clear to the worker fiber Vladislav Shpilevoy
2020-11-20  9:07   ` Serge Petrenko
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 13/16] raft: invoke update triggers within state machine Vladislav Shpilevoy
2020-11-20  9:10   ` Serge Petrenko
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 14/16] raft: move RO summary update to box-Raft Vladislav Shpilevoy
2020-11-20  9:13   ` Serge Petrenko
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 15/16] raft: introduce RaftError Vladislav Shpilevoy
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 16/16] raft: move algorithm code to src/lib/raft Vladislav Shpilevoy
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 02/16] raft: move box_raft_* to src/box/raft.h and .c Vladislav Shpilevoy
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 03/16] raft: stop using replication_disconnect_timeout() Vladislav Shpilevoy
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 04/16] raft: stop using replication_synchro_quorum Vladislav Shpilevoy
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 05/16] raft: stop using instance_id Vladislav Shpilevoy
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 06/16] raft: make raft_request.vclock constant Vladislav Shpilevoy
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 07/16] raft: stop using replicaset.vclock Vladislav Shpilevoy
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 08/16] raft: introduce vtab for disk and network Vladislav Shpilevoy
2020-11-19 23:46 ` [Tarantool-patches] [PATCH v2 09/16] raft: introduce raft_msg, drop xrow dependency Vladislav Shpilevoy
2020-11-20  9:14 ` [Tarantool-patches] [PATCH v2 00/16] Raft module, part 2 - relocation to src/lib/raft Serge Petrenko
2020-11-20 19:42 ` Vladislav Shpilevoy
2020-11-23  5:30 ` Alexander V. Tikhonov [this message]
2020-11-23 23:26   ` Vladislav Shpilevoy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201123053021.GA45371@hpalx \
    --to=avtikhon@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v2 00/16] Raft module, part 2 - relocation to src/lib/raft' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox