Симулятор celld нашёл баг в гонке алармов, который не смогли предсказать тесты

Deterministic Simulation Testing in Celld

Симулятор celld нашёл баг в гонке алармов, который не смогли предсказать тесты

Команда celld, среды выполнения для Cloudflare Workers и Durable Objects, применяет детерминированное симуляционное тестирование (DST), чтобы находить и воспроизводить редкие баги. Симулятор управляет порядком событий, задержками и сбоями хранилища, используя seed для повторяемости. Так был обнаружен баг в гонке алармов: устаревшая задача очистки удаляла запись пробуждения, необходимую для нового аларма. После исправления дизайна записей пробуждения сценарий стал регрессионным тестом.

В этом запуске удаление аларма на 10:00 и установка нового аларма на 10:05 оба вернули успех, пока старая очистка ждала. Когда симулятор наконец продвинул эту очистку, она удалила запись пробуждения на 10:00, которая всё ещё была нужна новому аларму.

Ещё за этот день

2026-10-11