🕵️Как мы ловили баг в проде, который появлялся только ночью

Пролог Иногда баги ведут себя как призраки. Днём — идеальный прод. Ночью — ошибка в биллинге. Каждый день в одно и то же время. 02:47.

Начало охоты Первая гипотеза — перегрузка. Но сервер в порядке. Вторая — крон-задача. Тоже нет. В логах — тишина. API отвечает как часы. На третий день я уже смотрела на монитор, как на загадку из «Твин Пикс».

Следы Я пошла по цепочке микросервисов: Auth → Betting → Billing. Запросы шли нормально… до момента, пока один сервис не возвращал странный timestamp. Всё ломалось именно в момент пересчёта даты.

Развязка Оказалось, один микросервис жил в UTC, другой — в GMT+3. В момент синхронизации ночью время «уходило в прошлое» — и логика биллинга просто не понимала, в каком дне она живёт. Исправили часовой пояс — и всё стало спокойно.

Мораль QA — это не профессия, а профессия детектива. Иногда ты не просто тестируешь — ты расследуешь. А логи — твои улики.

🕵️Как мы ловили баг в проде, который появлялся только ночью | Сетка — социальная сеть от hh.ru