Все пять safety-свойств Raft прошли, но две реплики разошлись
Все пять safety-свойств Raft прошли, но две реплики разошлись Реализация Raft на TypeScript прошла сидированную симуляцию: каждый тик, задержка сообщения и падение узла задаются сидом. На двадцать пятом прогоне две реплики применили разные значения — при том, что все правила алгоритма выполнялись. Автор отмечает: интересен не сам баг, а то, какая проверка его поймала. И вопрос, который из этого следует: откуда известно, что остальные проверки вообще на что-то смотрят. Читать далее 👉 Frontender's notes