GitHub опубликовал отчет о почти восьмичасовом сбое на этой неделе, связав проблемы разработчиков с перегруженными балансировщиками нагрузки, ошибочной политикой автоматического масштабирования и «скрытой ошибкой повторных попыток в Visual Studio Code».
Согласно GitHub, проблемы начались в 13:28 UTC 17 августа и были полностью устранены только к 21:15 UTC — инцидент длился 7 часов 47 минут, вызвав повышенные ошибки в Issues, Pull Requests, API, Actions и Copilot.
Непосредственной причиной стало насыщение сети на балансировщиках нагрузки в центральном дата-центре компании в США, вызванное достижением предела параллелизма sidecar-контейнера Istio.
Автоматическое масштабирование должно было добавить мощности при достижении этих лимитов? Увы, нет. Неправильно настроенная политика отслеживала хост-сервис, но не лимит параллелизма sidecar, что позволило развиться каскадному отказу. «Проблема, — по словам GitHub, — усугублялась оптимистичной логикой повторных попыток, которая перегружала внутренние балансировщики нагрузки».
Инженеры смягчили проблему, временно сократив количество повторных попыток шлюза с помощью изменения кода и настроив балансировщики нагрузки на отклонение входящих запросов к Copilot Token Service с HTTP-ответами 403.
Ах да, Copilot. GitHub пояснил: «Задержки ответов на одну внутреннюю конечную точку вызвали скрытую ошибку повторных попыток в VS Code, которая увеличила трафик примерно в 10 раз и замедлила восстановление Copilot Token Service».
Большинство сервисов восстановились к 16:36 UTC, а Actions — к 18:03 UTC, но Copilot Token Service не работал до 21:02 UTC.
«Усложняющими факторами, препятствовавшими восстановлению, стали многочисленные атаки скрапинга на конечные точки codeload», — добавили в GitHub.
Подразделение Microsoft заявляет, что исправит политики автоматического масштабирования, пересмотрит лимиты повторных попыток, проверит настройки параллелизма Istio и устранит поведение VS Code, «которое усилило трафик токенов Copilot».
Этот последний инцидент может стать переломным моментом, который заставит некоторых разработчиков искать альтернативы. Генеральный директор CloudBees Мориц Плассниг отметил в посте в LinkedIn, что «Cursor, OpenAI и несколько небольших стартапов уже создают конкурентоспособные решения».
«GitHub не будет решением по умолчанию в будущем, и мы наблюдаем гораздо более фрагментированную экосистему (что и хорошо, и плохо)».
Выводы вызовут удивление среди инженеров. Неправильная конфигурация и шторм повторных попыток вывели из строя критически важную инфраструктуру, от которой зависят многие организации, оставив разработчиков без возможности нормально работать на несколько часов.
Проблемы с надежностью GitHub тянутся далеко за пределы этой недели, как признает сама компания. У разработчиков есть выбор, и уравнение «боль/выгода» выглядит не слишком благоприятным для этого репозитория. Как отметил Плассниг, альтернативы продолжают появляться — иногда в самый неподходящий момент.
Пока GitHub боролся с проблемами, принадлежащий SpaceX Cursor анонсировал раннюю бета-версию Origin Code Hosting. ®
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Richard Speed




