Produkt
17 Minuten Stillstand am 19. Oktober: Ursache behoben, Wächter eingebaut
Von 22:24 bis 22:41 UTC nahm der Server keine Anfragen an. Eine Schleife in der Modellauswahl war schuld. Sie ist behoben, und ein Wächter startet einen eingefrorenen Server jetzt nach 60 Sekunden neu.
ZeroLog antwortete am 19. Oktober 17 Minuten lang nicht; du musst nichts tun, und ein Wächter startet einen eingefrorenen Server jetzt nach etwa einer Minute neu.
Am 19. Oktober zwischen 22:24 und 22:41 UTC antwortete ZeroLog nicht. Der Hauptprozess steckte 17 Minuten in einer Endlosschleife.
Die Ursache war der Free-Auto-Router, ein interner Router, den Kundinnen und Kunden nicht wählen können, dessen Schleife aber den ganzen Server für alle einfror. Er führte sich unter einem zweiten Namen selbst als eines seiner eigenen Ausweichmodelle auf. Nach einer abgebrochenen Anfrage rief jedes Ausweichmodell den Router erneut auf, jeder Versuch scheiterte sofort, und die Kette endete nie. In einem Test machte er 17'851 Versuche in 20 Sekunden.
Die Korrekturen: Der Router ist nie Teil seiner eigenen Kette, ein Abbruch beendet den Ausweichlauf sofort, jedes Modell wird einmal versucht mit höchstens 40 Schritten, und die Modelllisten werden einmal gelesen statt pro Modell (3'023 ms statt 63 ms).
Neu: Ein Wächter-Thread prüft einen Herzschlag des Hauptprozesses. Schweigt er 60 Sekunden lang, wird der Prozess gestoppt und systemd startet ihn neu. Der nächste Start meldet den Vorfall an unsere Telemetrie. Ein solcher Stillstand sollte jetzt etwa eine Minute dauern statt 17.