Pour résoudre la « pire panne en plus de quatre ans » qui a affecté Facebook durant deux heures et demie le 23 septembre 2010, des ingénieurs ont dû mettre complètement hors service le réseau social.
Peu après la résolution de la panne qui a affecté Facebook, soit à 17h29, un ingénieur nommé Robert Johnson a publié un message dans une page nommée Facebook Engineering qui se trouve sur le populaire réseau social.
Selon M. Johnson, la panne aurait été causée en majeure partie par le malfonctionnement d’un système automatisé qui sert à la vérification de valeurs de configuration.
En clair, la modification apportée à une copie d’une valeur de configuration a été interprétée comme étant invalide. Chaque « client » qui a été confronté à cette valeur invalide a entraîné la formulation d’une requête vers une base de données, ce qui a causé l’envoi « de centaines de milliers de requêtes à la seconde » vers une grappe de base de données.
De plus, chaque erreur obtenue lors de la formulation d’une requête vers une base de données engendrait une valeur invalide et amorçait automatiquement une tentative de réparation. En conséquence, les requêtes vers les bases de données de Facebook ont augmenté de façon exponentielle et ont causé une boucle de rétroaction (feedback loop) qui empêchait le recouvrement complet des bases de données.
Selon l’ingénieur de Facebook, la seule façon de mettre fin au cycle de rétroaction était d’arrêter le trafic vers la grappe de bases de données par la fermeture complète du site. Après le recouvrement des bases de données et la réparation du problème principal, les ingénieurs ont rétabli graduellement l’accès au réseau social.
M. Johnson précise que le système voué à la correction des valeurs de configuration a été désasctivé jusqu’à ce qu’une nouvelle conception soit appliquée.
Rappel
Le jeudi 23 septembre 2010, en milieu d’après-midi, bon nombre d’utilisateurs de Facebook n’ont pu accéder au site Web du réseau social. L’existence d’une panne a été rapportée rapidement par plusieurs médias en ligne et dans le réseau de microbloguage Twitter.
(Lire Panne de service sur Facebook)
Dans sa page « À propos », un message publié peu avant 15h00 jeudi après-midi par Facebook indiquait que le réseau social était affecté par « certaines problématiques » (some issues) qui causaient un ralentissement ou une indisponibilité.
Deux heures plus tard, Facebook annonçait* que les difficultés techniques étaient résolues et s’excusait auprès des utilisateurs pour les inconvénients causés par cette panne.
Vers 21 heures, Facebook publiait un nouveau message où les responsables du réseau s’excusaient à nouveau, tout en fournissant un hyperlien vers le message d’explication produit par un ingénieur.
Jean-François Ferland est rédacteur en chef adjoint au magazine Direction informatique.