tgoop.com/tarmolov_work/50
Last Update:
Золотой костыль
Разработчики Яндекса строили веб-сервисы на базе самописного движка xscript. Эта платформа собирала данные в xml формате, накладывала поверх xslt и получилась готовая html страничка или json в случае HTTP API.
Однажды один из таких HTTP API начал падать. Я закрыл проблемный сервер от входящего трафика, перезапустил xscript, проблема исчезла и я вернул нагрузку.
“Сетевые барабашки…”, — решил я. Проблема повторилась спустя полдня. Через сутки “заболел” второй сервер. Это уже не случайность, а проблема.
Пошел расследовать. HTTP сервис не менялся год, так же как и сам xscript. Зависимости также не менялись. Я дернул курлом сервис на проблемном сервере — ошибка воспроизводится. Далее решил локализовать проблему и удалил часть кода. Я перезапустил xscript — заработало. Вернул удаленный код обратно и ошибка не воспроизвелась.
Перезапуск помогает, но причину выяснить не удалось.
Мы дебажили эту проблему вместе с SRE, а затем и с бывшим мейнтейнером xscript. Не помогло. Нам удалось только выяснить, что проблема исчезает даже после обновления времени изменения файла.
Профессиональные разработчики нашли "элегантное" решение и для этой проблемы.
На серверах с этим сервисом запустили cron
. Каждый час делался touch
у одного единственного файлика 🙈 Иногда самым доступным и рабочим решением оказывается костылик.
P.S. Переход на nodejs повысили в приоритете.
#байки
BY Тармолов про работу
Share with your friend now:
tgoop.com/tarmolov_work/50