From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng2.m.smailru.net (smtpng2.m.smailru.net [94.100.179.3]) (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 A6ABB469719 for ; Tue, 17 Nov 2020 03:02:28 +0300 (MSK) From: Vladislav Shpilevoy Date: Tue, 17 Nov 2020 01:02:14 +0100 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH 00/12] Raft module, part 2 - relocation to src/lib/raft List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@dev.tarantool.org, gorcunov@gmail.com, sergepetrenko@tarantool.org 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 Vladislav Shpilevoy (12): 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: move box_update_ro_summary to update trigger 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 | 1130 ++++------------------------------- 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 | 1009 +++++++++++++++++++++++++++++++ src/lib/raft/raft.h | 350 +++++++++++ 16 files changed, 1577 insertions(+), 1268 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)