Suchen

GitHub Availability Report Oktober 2020 Transparente Einblicke in GitHub-Störung

Redakteur: Stephan Augsten

Kein Einblick in GitHub Issues, Fehlfunktionen bei Pull-Anfragen, nicht arbeitende Webhooks: Am 9. Oktober 2020 hatte GitHub große Probleme mit der Verfügbarkeit von Diensten. Dem Versprechen der Einblicke in derartige Probleme ist GitHub nun nachgekommen.

Firmen zum Thema

GitHub hat einen Einblick in die Verfügbarkeitsprobleme vom 9. Oktober 2020 gegeben.
GitHub hat einen Einblick in die Verfügbarkeitsprobleme vom 9. Oktober 2020 gegeben.
(Bild: GitHub)

Wie versprochen hat GitHub im eigenen Blog einen Bericht über die Verfügbarkeit des vergangenen Monats veröffentlicht. Besonders schwer wog dabei ein Ausfall am 9. Oktober, der sich in nicht verfügbaren Issues, Pull-Anfragen, Webhooks, GitHub-Aktionen und GitHub-Seiten-Diensten äußerte. Der Vorfall zog sich über gut zweieinhalb Stunden hin.

Keith Ballinger, Senior Vice President Engineering, gab einen Einblick in das Geschehen: „Bei der Neubereitstellung von ZooKeeper-Knoten im Rahmen von routinemäßigen Upgrades wurden neue Hosts zu schnell eingeführt“, schreibt er zu den Gründen. Dies habe zur Wahl eines zweiten Leader-Knotens geführt, wodurch ein zweites, logisch eigenständiges ZooKeeper-Cluster eingerichtet wurde, der dem anderen in die Quere kam.

Ein Kafka-Broker in dem Cluster, der das interne Hintergrund-Job-System betreibt, verband sich laut Ballinger mit dem neu gebildeten zweiten ZooKeeper-Cluster und wählte sich selbst zum Kafka-Controller. „Zu diesem Zeitpunkt gab es zwei verschiedene Kafka-Cluster, die den Kunden widersprüchliche Cluster-Zustandsinformationen zur Verfügung stellten.“

Etwa zehn Prozent der Anfragen an den Hintergrund-Job-Service verzeichneten deshalb Schreibfehler, was zu einem Backup der betroffenen Jobs führte. Hintergrundjobs gingen dabei aber nicht verloren, so Ballinger: „Zwar kam es bei einigen Systemen zu erheblichen Backups der Warteschlangen, aber das Verhalten unserer Kunden bei Wiederholungsversuchen und die vorhandenen redundanten Warteschlangensysteme entschärften diese Probleme.“

Um diese Art von Ausfällen in Zukunft zu vermeiden, hat GitHub die ZooKeeper-Bereitstellungs-Checkliste überarbeitet. Die Wartung von ZooKeeper und Kafka-Cluster soll künftig außerdem automatisiert werden. Weitere Einblicke in die Arbeit von und an GitHub erhalten Interessierte in der „Building GitHub“-Blog-Reihe.

(ID:46976582)