Как мы сломали систему документооборота «Тезис»
Мы нечаянно
7 мин
13.04.23

Кто, как не программисты, умеют качественно и продуктивно ломать (и чинить).


Николай Рябков, ведущий программист Блока сопровождения программного обеспечения УБРиР, рассказал, как 21 февраля 2023 г. был введен новый релиз и доработан кластер баз данных системы документооборота «Тезис». Все прошло в штатном режиме, и ничего не предвещало беды. В следующие дни ввиду малой нагрузки (а были праздники) никаких проблем со стороны сервиса не наблюдалось. Однако 27 февраля начались «первые звоночки».


Коля вспоминает: «Штатно не отработали autovacuum на базе данных, и не был создан бэкап. Затем в течение дня мы наблюдали странное поведение базы данных, множество длинных, не закрывающихся транзакций. Изучая логи, мы выявили, что приложению не хватает ресурсов оперативной памяти, чтобы закрывать открытые транзакции. Мы с коллегами приняли решение увеличить вдвое ресурс, и нам показалось, что проблема решена, но на следующий день ситуация повторилась».




"

«Почему сразу не произвели откат? Потому что ведь неделю все работало нормально. Ага, щас, просто не было штатной нагрузки, ибо праздники. Также по заверению команды все было протестировано без ошибок, но тестили-то без соответствующей нагрузки. Также были изменения в схеме подключения к базе, и нужно было исключить их влияние»


Странно, да? Ранее программа работала ровно с теми ресурсами, которые были выделены, и вдруг требует в два раза больше. Следующим этапом была проверка зависимости работы с базой данных напрямую или через кластер, и база данных была переведена на предыдущую схему работы «напрямую», однако и это не привело к желаемому результату. И тут закрались сомнения, а не после релиза ли он упал? Было принято решение откатить на предыдущую версию программы и, о чудо, все вернулось в штатный режим.
Ведущий программист Блока сопровождения программного обеспечения
Николай Рябков

Вывод: Если что-то идет не так, а недавно был релиз, можно смело откатываться.