الخلاصة
- بدأ التعطل في 24 يوليو عند 16:04 بالتوقيت العالمي، وأضيف الشرح التفصيلي في 29 يوليو عند 02:36:25.
- فقد قفص واحد في إحدى ثلاث مناطق مادية الروابط بين محولات spine وطبقة التجميع.
- تشبعت المسارات النشطة الباقية بعد خسارة 25% من سعة الربط الشبكي المتاحة.
- فشل 10% من مهام Actions، وبدأ 5% منها متأخراً، وكانت 27% من تفاعلات Issues بطيئة أو منتهية المهلة، وتأثر 4% من طلبات Copilot و4% من عمليات git push.
- حولت GitHub الاتصال إلى ألياف محجوزة لتوسعة مستقبلية، وأوقفت فقد الحزم عند 17:07، وأعادت كل المسارات عند 17:36، وستسرع الانتقال من 100 إلى 400 غيغابت في الثانية.
لا تمثل هذه النسب معدل انقطاع واحداً. لكل منتج مقام مختلف وحالة مختلفة. قيمة التقرير أنه يوضح كيف تحولت مشكلة سعة مادية واحدة إلى أعمال تصحيح متعددة لا يجوز تنفيذها بزر إعادة واحد.
نُشر الدليل في 29 يوليو ولم يقع انقطاع ثانٍ
وقع أثر الخدمة في 24 يوليو وأغلق السجل في اليوم نفسه. بعد خمسة أيام حدث التغيير الصحفي: أضافت GitHub طبقة الشبكة المتأثرة ونسبة السعة المفقودة والتأثير بحسب المنتج ومسار الطوارئ وخطة الترقية.
وصف الحدث بأنه انقطاع في 29 يوليو سيختلق تكراراً غير موجود. كما لا يصح دمجه مع حوادث أخرى في 25 أو 27 يوليو. يحافظ المعرف الرسمي yjysg0xrl67m على الحد الزمني والسببي الصحيح.
يظل أصل أول فقد للاتصال مجهولاً. تشرح GitHub ما حدث بعده، إذ امتلأت المسارات الباقية وبدأ فقد الحزم، لكنها لا تسمي جهازاً أو صيانة أو تغيير إعدادات تسبب في البداية.
العطل نفسه حمل معاني مختلفة داخل المنتجات
تستخدم كل قفص بنية leaf-spine، وترتبط محولات spine بطبقة التجميع داخل المنطقة. عندما انقطعت روابط قفص واحد، واجهت أحمال تعتمد على موارده فقداً متقطعاً للحزم. وبلغت الخسارة ربع سعة الربط المتاحة.
في Actions فشل 10% من المهام، بينما نجح 5% بعد بدء متأخر. في Issues كان 27% من التفاعلات بطيئاً أو انتهت مهلته. أعاد Copilot غالبية الطلبات آلياً، لكن 4% سجل أخطاء. تأثر 4% من عمليات الدفع إلى Git. ارتفع زمن المصادقة، فيما بقي معدل الخطأ أقل من 1%.
لا يجوز جمع هذه الأرقام. إنها لا تقيس الشيء نفسه. وهي تكشف بدلاً من ذلك قوائم منفصلة: مهمة قد تحتاج إعادة، وكتابة قد تحتاج تأكيداً، وطلباً نجح بعد محاولة ثانية، وزمن استجابة قد يفشل عميلاً حساساً للمهلة.
استخدم التعافي سعة كانت مخصصة للمستقبل
أعادت GitHub توجيه الاتصالات إلى مسارات ألياف مقررة لزيادات سعة لاحقة. عادت سعة تكفي لمنع فقد الحزم عند 17:07. بدت غالبية الخدمات متعافية عند 17:16. وفي 17:36 استعيدت كل المسارات.
هذه ليست ساعة واحدة بثلاث صيغ. عودة الهامش الشبكي سبقت تعافي معظم التطبيقات، وتعافي معظمها سبق اكتمال البنية. الاحتفاظ بوقت الإغلاق وحده يمحو تدرج الاستعادة.
كان مسار التوسعة احتياطاً فعالاً، لكن GitHub لم تنشر مقدار الهامش المتبقي بعد التحويل، ولا ما إذا كانت الألياف قد عادت لتكون احتياطاً لحادث آخر.
إعادة الطلب قبل قراءة الحالة قد تكرر الأثر
تتيح وثائق GitHub إعادة workflow كامل أو المهام الفاشلة أو مهمة محددة. تستخدم الإعادة صلاحيات صاحب التشغيل الأصلي وcommit SHA وGit ref نفسيهما. يحفظ ذلك السياق، لكنه لا يجعل النشر أو الترحيل أو التغيير الخارجي آمناً للتكرار.
قد تكون مهمة متأخرة قد اكتملت بعد بدء تشغيل أحدث. وقد تكون عملية push تقدمت بالمرجع البعيد قبل انقطاع الرد. وقد يكون تعليق Issues قد حُفظ رغم أن العميل رأى انتهاء المهلة. يجب قراءة الحالة الفعلية قبل إعادة الكتابة.
تخفي إعادة Copilot الآلية بعض فشل المحاولة الأولى. كما أن خطأ المصادقة الأقل من 1% لا يلغي أثر التأخير. لكل فئة معيار تعافٍ خاص.
ترقية 400 غيغابت معالجة مباشرة وليست دليلاً كاملاً
تستخدم الأقفاص القديمة واجهات بسرعة 100 غيغابت في الثانية. تقول GitHub إنها ستسرع الترقية المقررة إلى 400 غيغابت لزيادة الهامش في طبقات النسيج عند فقد مسار أو جهاز. يرتبط القرار مباشرة بآلية التشبع المنشورة.
لكن الشركة لم تعلن الموعد أو عدد الأقفاص القديمة أو الحد الأدنى للهامش أو تركيبة الأعطال المقبولة. مضاعفة السرعة الاسمية أربع مرات لا تضمن مضاعفة المرونة أربع مرات. سرعة الكشف والعزل وبقاء أدوات الطوارئ متاحة مهمة أيضاً.
الاختبار المفيد هو فقد مسار محدد من القفص إلى التجميع من دون تشبع البقية، مع إنذار يسبق أعراض المستخدم.
ينبغي إغلاق حساب الشبكة وحساب المعاملات معاً
يستطيع العملاء حفظ معرفات المهام الفاشلة والمتأخرة، وفحص مراجع Git البعيدة، والبحث عن كتابات Issues مكررة، وفصل فشل المحاولة الأولى عن نجاح الإعادة. التعافي الآمن يصالح الحالة قبل تكرار العملية.
ينبغي لتقرير لاحق أن يحدد سبب فقد الاتصال الأول، والهامش بعد التحويل، ونطاق برنامج 400 غيغابت، والضوابط التي تمنع قفصاً واحداً من تشبيع ما تبقى. كما ينبغي تأكيد عودة ألياف التوسعة إلى وضع الاحتياط.
أعاد إفصاح 29 يوليو الاعتماد السحابي إلى مقياس مادي: اختفى ربع الربط، امتلأت المسارات الباقية، وورث كل منتج قائمة تعافٍ لا تشبه الأخرى.


