Skip to content

Voters autopromotion

From RFC https://hackmd.io/@rosik/B1o-IkEtc:

## Ползучие воутеры (raft voter failover)

Все рафт ноды в кластере делятся на две роли - воутеры и лёрнеры. За
консистентность отвечают только воутеры. Для коммита каждой транзакции
требуется собрать кворум из `N/2 + 1` воутеров. Лернеры в кворуме не
участвуют.

Чтобы сохранить баланс между надёжностью кластера и беззаботностью его
эксплуатации, пикодата обладает фишечкой — при смерти одного из воутеров
(на которох держится кворум рафта и который терять очень не хочется)
роль воутера автоматически передаётся одному из живых инстансов.
Переключение происходит незаметно для пользователя.

Количество воутеров в кластере не настраивается и зависит только от
общего количества инстансов. Если инстансов 1 или 2, воутер один. Если
инстансов 3 или 4, то воутера три. Для кластеров от 5 инстансов и больше
- пять воутеров.

In scope of this tast:

  1. Remove autopromotion from start_postjoin.
  2. Make autopromotion dependent on instances count (but not liveness yet).
Edited by Yaroslav Dynnikov
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information