Ребята из Antithesis(я хз кто это) протестировали несколько популярных реализаций протокола Raft в своей среде детерминированной симуляции с инжекцией сбоев. Они выбрали HashiCorp Raft, Aeron Cluster, OpenRaft и MicroRaft. И да, они нашли критические баги в каждой из них, нарушающие главный инвариант - state machine safety.
На примере HashiCorp Raft подробно разбираются три бага:
- гонка асинхронных heartbeat'ов с основным потоком, нарушающая консенсус и безопасность выборов;
- deadlock при передаче лидерства, навечно блокирующий кластер;
- и livelock при установке снапшотов из-за несоблюдения правила из спецификации.
Они приходят к выводу, что формальная верификация сама по себе не гарантирует корректности, поскольку между спецификацией на TLA+ и продакшен-кодом остаются неявные допущения.
И еще забавно, что хватило простой нагрузки вроде "цепочки блоков" в сочетании с симуляцией сбоев, чтобы эти проблемы вскрылись
11.08.2026
Похожее
04.09.2026
Оптимизация DNS-кэша
Ребята из Cloudflare рассказывают, как пять последовательных оптимизаций расклад...
27.08.2026
Интернет на калькуляторе
Радиолюбитель EI3LH, увлекся карманными компьютерами Casio и сумел запустить нас...
26.08.2026
Пробы в k8s
Помните про Kubernetes на TypeScript с прекрасным названием webernetes? Автор с ...
08.08.2026
esp32 http2 сервер
Вот у людей времени дофига. Автор демонстрирует, как он запускает HTTP/2-серв...