[Tarantool-patches] [PATCH v2 00/11] dRaft
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Thu Sep 10 02:16:49 MSK 2020
Raft leader election implementation. This version of the patchset passes the
existing tests, since Raft is disabled by default. New tests were not added yet.
Changes in v2:
- The patch about setting applier->instance_id is reworked completely;
- Found and attempted to fix a blocking issue 5827 about replicas too early
registration;
- Fixed lots of bugs in Raft code found by sanity checks in a console.
Branch: http://github.com/tarantool/tarantool/tree/gh-1146-raft
Issue: https://github.com/tarantool/tarantool/issues/1146
Blocking issue: https://github.com/tarantool/tarantool/issues/5287
Vladislav Shpilevoy (10):
applier: store instance_id in struct applier
box: introduce summary RO flag
wal: don't touch box.cfg.wal_dir more than once
replication: track registered replica count
[wip] box: do not register outgoing connections
raft: introduce persistent raft state
raft: introduce box.cfg.raft_* options
raft: introduce state machine
raft: introduce box.info.raft
[tosquash] raft: a swarm of minor fixes
sergepetrenko (1):
raft: relay status updates to followers
src/box/CMakeLists.txt | 1 +
src/box/applier.cc | 47 +-
src/box/applier.h | 2 +
src/box/box.cc | 185 +++++--
src/box/box.h | 9 +
src/box/iproto_constants.h | 15 +
src/box/lua/cfg.cc | 27 +
src/box/lua/info.c | 17 +
src/box/lua/load_cfg.lua | 15 +
src/box/lua/misc.cc | 1 +
src/box/memtx_engine.c | 36 ++
src/box/raft.c | 852 ++++++++++++++++++++++++++++++++
src/box/raft.h | 252 ++++++++++
src/box/relay.cc | 93 +++-
src/box/relay.h | 7 +
src/box/replication.cc | 10 +-
src/box/replication.h | 7 +
src/box/wal.c | 6 +
src/box/wal.h | 7 +
src/box/xrow.c | 113 +++++
src/box/xrow.h | 15 +
test/app-tap/init_script.result | 3 +
test/box/admin.result | 6 +
test/box/cfg.result | 12 +
test/box/info.result | 1 +
25 files changed, 1695 insertions(+), 44 deletions(-)
create mode 100644 src/box/raft.c
create mode 100644 src/box/raft.h
--
2.21.1 (Apple Git-122.3)
More information about the Tarantool-patches
mailing list