В 15:00 6 декабря выложили оптимизированный код, содержащий ошибку. В ряде случаев отменялась обработка события.
На проектах с особой настройкой параллельных транзакционных триггеров проблема проявлялась чаще.
В течение дня частично не отрабатывали промомеханики и не отправлялась часть транзакционных писем и смс.
По мониторингу проблема не была замечена, т.к. оптимизация ускорила обработку триггеров (суммарно эффект казался положительным).
В 23:40 обнаружили проблему на одном проекте.
Примерно в 1:10 7 декабря осознали потенциальный источник проблемы и отключили оптимизацию на одном проекте.
На этот момент проблема казалась локальной из-за специфики проекта.
В 11:00 7 декабря после тщательного осмотра других проектов оптимизация отключена. Начат разбор ошибки.
К 15:00 по логам базы данных восстановлено в сумме около 3 миллионов событий.
В 17:40 поняли в чем состоит ошибка и почему мониторинг не показал негативных отклонений.
Улучшим собираемые метрики, чтобы видеть деградацию сервиса даже на фоне позитивного эффекта.
Откалибруем алерты, чтобы быстрее реагировать на подобные инциденты.
Сделаем подход к ужесточению QA-контура, чтобы видеть подобные ошибки до релиза.