[Tarantool-patches] [PATCH v2 00/10] dRaft
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Fri Sep 4 01:51:14 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:
- Fixed a bug when bootstrap couldn't finish if the first leader restarted
before quorum of replicas finished bootstrap too;
- Added box.info.raft;
- A lot of new comments, fixed typos, and squashes between the commits.
Branch: http://github.com/tarantool/tarantool/tree/gh-1146-raft
Issue: https://github.com/tarantool/tarantool/issues/1146
Vladislav Shpilevoy (9):
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
raft: introduce persistent raft state
raft: introduce box.cfg.raft_* options
[tosquash] raft: pass source instance_id to raft_process_msg()
raft: introduce state machine
raft: introduce box.info.raft
sergepetrenko (1):
raft: relay status updates to followers
src/box/CMakeLists.txt | 1 +
src/box/applier.cc | 66 ++-
src/box/applier.h | 2 +
src/box/box.cc | 176 ++++++-
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 | 830 ++++++++++++++++++++++++++++++++
src/box/raft.h | 253 ++++++++++
src/box/relay.cc | 88 +++-
src/box/relay.h | 7 +
src/box/replication.cc | 3 +
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, 1682 insertions(+), 34 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