So hat eine fehlerhafte Korrektur Funktion zu einer verhängnisvollen Kettenreaktion geführt:
Ein automatisches Korrektursystem sorgt für gewöhnlich dafür, dass fehlerhafte Konfigurationswerte im Cache durch aktualisierte Werte im persistenten Speicher überschrieben werden. Im aktuellen Fall führte aber genau dies zum Zusammenbruch. Eine Konfigurationsänderung im persistenten Speicher wurde von dem vollautomatischen System als fehlerhaft deklariert. Die Folge: Jedes Clientsystem erhielt den angeblich ungültigen Wert, versuchte diesen zu korrigieren und stellte dazu eine Anfrage an einen Datenbankcluster. Dieser brach schnell unter der Last der mehreren hunderttausend Anfragen pro Sekunde zusammen.
Jede dieser Anfragen wurde daraufhin als falsch deklariert und im Cache gelöscht. Das führte dazu, dass auch nach Korrektur des eigentlichen Fehlers die Zahl der Anfragen auf den Datenbankcluster hoch blieb. Das Ganze führte zu einer Feedbackschleife, die der Datenbank keine Gelegenheit ließ, sich zu erholen.
Die bei Facebook.com eingesetzten Technologien und Systeme habe ich hier beschrieben.