گزارش GitHub از دو اختلال سرویس‌ها در سپتامبر ۲۰۲۶

گزارش GitHub از دو اختلال سرویس‌ها در سپتامبر ۲۰۲۶

آنچه در این مقاله مطالعه می‌کنید:

۲۵ مهر ۱۴۰۵

۲۵ مهر ۱۴۰۵

GitHub اعلام کرد در سپتامبر ۲۰۲۶ دو رخداد باعث افت عملکرد بخش‌هایی از سرویس‌های این پلتفرم شده‌اند. به گزارش GitHub Blog، نخستین اختلال بر پایگاه‌داده مشترک و چند خدمت وابسته اثر گذاشت و رخداد دوم، تحویل نتایج بازبینی کد با Copilot را مختل کرد.

اختلال پایگاه‌داده و اثر آن بر سرویس‌های GitHub

رخداد نخست در ۱۳ سپتامبر آغاز شد. بازه ثبت‌شده برای آن از ساعت ۰۹:۱۶ به وقت UTC، یک ساعت و ۲۸ دقیقه بود؛ با این حال GitHub مدت اثرگذاری بر مشتریان را حدود دو ساعت اعلام کرده است. کاربران هنگام بازکردن یا به‌روزرسانی issueها و pull requestها، فراخوانی API، ساخت access token، شروع گردش‌کارهای GitHub Actions یا ثبت‌نام با کندی، انتظار طولانی یا شکست درخواست روبه‌رو شدند.

طبق این گزارش، حدود ۹۶ درصد درخواست‌های ایجاد issue از رابط وب در بازه اختلال تحت تأثیر قرار گرفت. همچنین ۹۰ درصد ثبت‌نام‌های جدید و حدود ۴ درصد گردش‌کارهای Actions به‌طور متناوب دچار خطا شدند.

منشأ مشکل، یک کار پس‌زمینه برای پاک‌سازی داده بود که بار پایگاه‌داده مشترک را افزایش داد. سازوکار حفاظتی این کار، عقب‌ماندن replicaها را می‌سنجید اما بار ورودی سرور اصلی را در نظر نمی‌گرفت؛ در نتیجه اتصال‌های سرور اصلی پر شد. نبود timeout سریع و تکرار درخواست‌های ناموفق ساخت توکن نیز بازیابی را به تأخیر انداخت. GitHub پس از شناسایی عامل، بار داخلی را کاهش داد و کار پاک‌سازی را متوقف کرد.

توقف بازبینی کد Copilot در رخداد دوم

رخداد دوم در ۲۸ سپتامبر و از ساعت ۲۱:۱۶ به وقت UTC ثبت شد. بازه رخداد ۵۲ دقیقه بود، اما اثر آن بر مشتریان حدود دو ساعت و ۴۵ دقیقه ادامه داشت. بازبینی کد Copilot در github.com و مناطق داده‌ای GitHub Enterprise Cloud تحت تأثیر قرار گرفت و نتیجه برخی بررسی‌ها با تأخیری بین حدود ۳۰ دقیقه تا حداکثر دو ساعت نمایش داده شد.

یک تغییر در سرویس اجرای بازبینی‌ها باعث شد نسخه کامل نتیجه فقط برای بخشی از کاربران ارسال شود. Copilot بدون دریافت نسخه شامل نظرهای بازبینی، قادر به ساخت و انتشار review نبود؛ بااین‌حال کار را موفق گزارش می‌کرد. کمبود پایش برای نتیجه مفقودشده نیز تشخیص مشکل را عقب انداخت. GitHub با بازگرداندن تغییر، اختلال را رفع کرد و از کاربران خواست بازبینی‌های آسیب‌دیده را دوباره درخواست کنند.

این گزارش برای تیم‌های توسعه‌ای که فرایند تحویل نرم‌افزارشان به GitHub، Actions یا بازبینی کد Copilot وابسته است اهمیت دارد. GitHub می‌گوید کنترل بار، مدیریت retry و timeout، پایش تحویل review و فرایند استقرار را تقویت می‌کند تا رخدادهای مشابه زودتر شناسایی و محدود شوند.