GitHubは9月13日(米国時間)、「GitHub Availability Report: August 2023 - The GitHub Blog」において、2023年8月の可用性レポートを公表した。GitHubサービス全体のパフォーマンスを低下させるインシデント2件を報告している。

  • GitHub Availability Report: August 2023 - The GitHub Blog

    GitHub Availability Report: August 2023 - The GitHub Blog

1件目のインシデントは2023年8月15日16時58分(協定世界時)に発生。Webhookの処理に使用される内部ジョブのキューで処理の遅延が始まり、17時24分に黄色信号が点灯したという。この遅延は4時間半にわたり継続し、利用者はその間影響を受けたと考えられる。これはWebhook配信の大幅かつ継続的な増加が原因で、トラフィックを処理しきれなかったとみられる。GitHubはこの問題に対し、Webhookを発生させるイベント自体をブロックすることで一時的に解決している。その後、恒久的な対策としてより多くのトラフィックを処理できるように対策したとしている。

2件目のインシデントは2023年8月29日02時36分(協定世界時)に発生。バックグラウンドジョブの処理に広範囲の遅延が発生し、Webhook配信、GitHubアクション、非同期にトリガーされるワークロードが通常通り処理できなくなったとされる。遅延は最大で1時間程度発生したものの、データ損失することなく回復したという。

原因はジョブの配信を担当するジョブキューイングサービスのコンポーネントが、CPUスロットルとApache Kafkaコンシューマの短いセッションタイムアウトとの想定外の相互作用により失敗したことで、Kafkaコンシューマがループに陥り、調整プロセスのタイムアウトとリスタートの前に速度を安定させることができなかったためと見られる。

このジョブキューイングサービスは受信したジョブの受け入れと記録は継続したものの、負荷を待機サービスへ移し、プライマリサービスを再配置して問題を軽減するまでジョブを配信できなくなったという。GitHubはこの問題の診断を可能にするため監視機能を拡張し、再発防止のための修正を試みているという。

GitHubは定期的に可用性レポートを公開しており、リアルタイムの稼働情報を「GitHub Status」から確認することができる。