[Tarantool-patches] [PATCH v2 0/5] Bootstrap voter

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Sun Jul 18 19:53:24 MSK 2021


Changes in v2:
- Moved 'manual' election mode fix into a separate commit;
- Replaced raft_start/stop_candidate() with raft_promote/restore();
- Renamed ballot.can_be_leader to ballot.can_lead.

Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-6018-boot-voter
Issue: https://github.com/tarantool/tarantool/issues/6018

Vladislav Shpilevoy (5):
  replication: introduce ballot.can_lead
  box: save box_raft() into a variable
  raft: replace raft_start_candidate with _promote
  election: during bootstrap prefer candidates
  election: promote 'manual' bootstrap master

 .../unreleased/gh-6018-election-boot-voter.md |   4 +
 src/box/box.cc                                |  74 ++++++-----
 src/box/errcode.h                             |   2 +-
 src/box/iproto_constants.h                    |   1 +
 src/box/raft.c                                |  58 +++++++--
 src/box/raft.h                                |   4 +-
 src/box/replication.cc                        |  11 +-
 src/box/xrow.c                                |  14 ++-
 src/box/xrow.h                                |   2 +
 src/lib/raft/raft.c                           |  98 ++++++++-------
 src/lib/raft/raft.h                           |  13 +-
 test/box/error.result                         |   2 +-
 .../gh-6018-election-boot-voter.result        | 116 ++++++++++++++++++
 .../gh-6018-election-boot-voter.test.lua      |  59 +++++++++
 test/replication/gh-6018-master.lua           |  17 +++
 test/replication/gh-6018-replica.lua          |  15 +++
 test/replication/suite.cfg                    |   1 +
 test/unit/raft.c                              |  41 ++++---
 test/unit/raft.result                         |  22 ++--
 test/unit/raft_test_utils.c                   |  17 +--
 test/unit/raft_test_utils.h                   |  16 +--
 21 files changed, 438 insertions(+), 149 deletions(-)
 create mode 100644 changelogs/unreleased/gh-6018-election-boot-voter.md
 create mode 100644 test/replication/gh-6018-election-boot-voter.result
 create mode 100644 test/replication/gh-6018-election-boot-voter.test.lua
 create mode 100644 test/replication/gh-6018-master.lua
 create mode 100644 test/replication/gh-6018-replica.lua

-- 
2.24.3 (Apple Git-128)



More information about the Tarantool-patches mailing list