Size: a a a

2020 June 18

YS

Yura Sokolov in Tarantool
Mons Anderson
ещё раз. кто ребутнулся? лидер или фолловер?
А какая на хер разница? Конечно, с лидером это более очевидно.
источник

YS

Yura Sokolov in Tarantool
Но с фолловером тоже работает: фолловер ребутнулся, а лидер потерял коннективити. Другой фолловер выиграл выборы, и переписал историю.
источник

YS

Yura Sokolov in Tarantool
Потому не надо "ля-ля". Если у вас протокол не подразумевает работу в режиме Byzantine Failure, "кворум без fsync" не работает.
источник

MA

Mons Anderson in Tarantool
Yura Sokolov
А какая на хер разница? Конечно, с лидером это более очевидно.
Ок, лидер ребутнулся. Вообще считаем что его больше нет и он не вернётся со своими данными
У нас есть 1 копия на фолловере, который подтвердил
источник

YS

Yura Sokolov in Tarantool
Mons Anderson
Ок, лидер ребутнулся. Вообще считаем что его больше нет и он не вернётся со своими данными
У нас есть 1 копия на фолловере, который подтвердил
Да, но нет кворума. После ребута победить может вполне другой фолловер, который не подтвердил. Потому что его поддержит бывший лидер, который успел забыть.
источник

AL

Aleksandr Lyapunov in Tarantool
Yura Sokolov
Да, но нет кворума. После ребута победить может вполне другой фолловер, который не подтвердил. Потому что его поддержит бывший лидер, который успел забыть.
НЕ может
источник

YS

Yura Sokolov in Tarantool
Aleksandr Lyapunov
НЕ может
Может. Ты забываешь о network connectivity, который может потеряться.
источник

AL

Aleksandr Lyapunov in Tarantool
побеждает наиболее всеведущий фолоовер
источник

AL

Aleksandr Lyapunov in Tarantool
я про " После ребута победить может вполне другой фолловер"
источник

YS

Yura Sokolov in Tarantool
Aleksandr Lyapunov
побеждает наиболее всеведущий фолоовер
Который имеет коннективити к кворуму. А он может и не иметь.
источник

YS

Yura Sokolov in Tarantool
Для того кворум и нужен, чтобы переживать потерю коннективити.
источник

AL

Aleksandr Lyapunov in Tarantool
лидера без кворума тоже не выбирают
источник

YS

Yura Sokolov in Tarantool
Aleksandr Lyapunov
лидера без кворума тоже не выбирают
У тебя 3 ноды: А, Б и В.
А и Б подтвердили запись Х.
А, ребутнулся и потерял запись Х. Б потерял коннективити.
А и В образовали новый кворум и записали историю без записи Х.
Всё, Б уже не может выиграть выборы и вернуть Х. Х пошла наХ.
источник

AL

Aleksandr Lyapunov in Tarantool
интересно, мы тут всё про выборы и лидера - сколько уже ФСБэшников читают этот чат?
источник

АК

Александр Кузнецов... in Tarantool
Aleksandr Lyapunov
интересно, мы тут всё про выборы и лидера - сколько уже ФСБэшников читают этот чат?
)
источник

AL

Aleksandr Lyapunov in Tarantool
Yura Sokolov
У тебя 3 ноды: А, Б и В.
А и Б подтвердили запись Х.
А, ребутнулся и потерял запись Х. Б потерял коннективити.
А и В образовали новый кворум и записали историю без записи Х.
Всё, Б уже не может выиграть выборы и вернуть Х. Х пошла наХ.
А не сможет после ребута подключиться к кластеру, пока не получит от лидера всю историю
источник

MA

Mons Anderson in Tarantool
vpol
На чем дискуссия о durability тарантула то закончилась? Я не вижу море крови.
Про тарантул всё просто:
memtx:
- фиксирует данные в памяти, отправляет транзакцию записываться на диск
- файбер, который транзакцию спровоцировал засыпает в ожидании ответа от wal
- в это время другие файберы уже видят данные в памяти
- в success-кейсе транзакция коммитится (в зависимости от wal_mode раньше или позже, можно хоть с fsync'ом: это влияет только на лтенси модифицирующих операций) и управление возвращается коммитящему файберу с результатом
- после успешного коммита данные из WAL отправляются на реплику
- в неуспешном кейсе (диск кончился, например), транзакция откатывается в памяти и тарантул переходит в read-only. т.е. существовал интервал времени с чтением другими файберамим uncommited данных
источник

YS

Yura Sokolov in Tarantool
Aleksandr Lyapunov
А не сможет после ребута подключиться к кластеру, пока не получит от лидера всю историю
Да. Так А вместе с В выберут нового лидера. Они же не могут достучаться до Б, который потерял коннективити. Потому он не может оказаться лидером.
источник

YS

Yura Sokolov in Tarantool
Этим новым лидером может оказаться как А так и В.
источник

YS

Yura Sokolov in Tarantool
Но не Б.
источник