Ребята из Antithesis(я хз кто это) протестировали несколько популярных реализаций протокола Raft в своей среде детерминированной симуляции с инжекцией сбоев. Они выбрали HashiCorp Raft, Aeron Cluster, OpenRaft и MicroRaft. И да, они нашли критические баги в каждой из них, нарушающие главный инвариант - state machine safety.
На примере HashiCorp Raft подробно разбираются три бага:
- гонка асинхронных heartbeat'ов с основным потоком, нарушающая консенсус и безопасность выборов;
- deadlock при передаче лидерства, навечно блокирующий кластер;
- и livelock при установке снапшотов из-за несоблюдения правила из спецификации.
Они приходят к выводу, что формальная верификация сама по себе не гарантирует корректности, поскольку между спецификацией на TLA+ и продакшен-кодом остаются неявные допущения.
И еще забавно, что хватило простой нагрузки вроде "цепочки блоков" в сочетании с симуляцией сбоев, чтобы эти проблемы вскрылись
11.08.2026
Похожее
03.09.2026
Конкурентный сервер на Go
Это восьмая часть серии о конкурентных сетевых серверах, в этот раз посвященная ...
03.09.2026
Горутины повсюду
Частенько мы пишем Go-сервисы, не задумываясь о том, кто и как запускает наши го...
02.09.2026
Интересные баги
Команда sigma star(хз кто это) нашла и исправила давнюю ошибку в рантайме Go, пр...
01.09.2026
GopherCon UK 2026
Видосы с GopherCon UK 2026 подоспели. Много всего интересного. Девид Чейни, Билл...