Реализация Raft на TypeScript под сидированной симуляцией: каждый тик, каждая задержка сообщения и каждое падение узла берутся из сида. На двадцать пятом прогоне две реплики применили разные значения — при том, что правила алгоритма выполнялись все до одного. Интересен не сам баг, а то, какая…
Все пять safety-свойств Raft прошли. Две реплики разошлись
Это краткое изложение. Полный текст материала доступен на сайте источника.