RU

Все пять safety-свойств Raft прошли. Две реплики разошлись

Реализация Raft на TypeScript под сидированной симуляцией: каждый тик, каждая задержка сообщения и каждое падение узла берутся из сида. На двадцать…

raftконсенсусдетерминированное тестированиемутационное тестированиеmodel checkingлинеаризуемостьизоляция транзакцийpostgresqltypescript.
Habr
RU

Мой тестовый харнесс нашёл баг в моей же реализации Raft. Рассказываю, как именно

Набор тестов, который всегда зелёный, содержит непроверяемое допущение: он может ловить ошибки, а может не смотреть вообще — по цвету это неразличим…

raftконсенсусдетерминированное тестированиераспределённые системытестированиелинеаризуемостьотказоустойчивостьtypescript
Habr
RU

Как Jepsen ломает распределённые базы: разбор бага в CockroachDB

Запись вернула ошибку, но значение всё равно оказалось в базе. Именно такие сбои Jepsen вытаскивает из распределённых систем: в …

JepsenCockroachDBраспределённые базы данныхконсистентностьлинеаризуемостьсериализуемостьтранзакцииотказоустойчивостьконкурентные ошибкитестирование сбоев