Gérer l’incident S3 avec des correctifs et des remises
Hier après-midi, nous avons malheureusement connu un incident qui a duré environ 90 minutes. Cet incident a été causé par un bug que nous avions nous-mêmes introduit dans le système.
Quelques clients rencontraient des difficultés pour terminer des Assemblies contenant un grand nombre de fichiers (> 100). En tentant d’y remédier, nous avons involontairement introduit un bug qui entraînait l’écrasement des fichiers de résultat sur S3 par les fichiers envoyés à l’origine. C’est, bien entendu, une très mauvaise chose. Notre suite de tests ne l’a pas détecté car, afin de l’isoler des aléas de S3 et de l’accélérer (avec tous les tests d’encodage, son exécution prend déjà près de 30 minutes), nous évitions l’envoi des fichiers de résultat vers S3. Nous disposions bien de cas distincts pour tester notre intégration S3, mais ceux-ci n’ont malheureusement pas détecté ce problème.
Nous avons remarqué le problème en production et déployé un correctif urgent en moins de 30 minutes. Cependant, alors que l’activité revenait à la normale, nous avons déployé une autre fonctionnalité qui n’incluait pas ce correctif. En conséquence, ce problème est revenu nous frapper, ou plutôt vous frapper. Ce n’était décidément pas notre jour de chance.
Si vous faites partie des personnes concernées par ce problème, veuillez ouvrir un ticket d’assistance et nous vous aiderons à réexécuter toutes vos Assemblies affectées. En outre, nous vous accorderons une remise sur votre facture de février. Nous conserverons les fichiers temporaires nécessaires pendant une semaine (au lieu des 24 heures habituelles).
Enfin, nous tenons à vous présenter nos excuses. Tout est entièrement de notre faute et nous regrettons sincèrement de ne pas avoir pu fournir un service aussi robuste que celui dont nous sommes habituellement fiers. Nous avons déjà pris les mesures nécessaires pour que cela ne se reproduise jamais. Désormais, la suite de tests enregistrera également tous les fichiers de résultat sur S3. Ce n’est peut-être pas la façon la plus propre d’exécuter des tests, mais cela garantira que nos tests reproduisent la production aussi fidèlement que possible. En fin de compte, c’est notre priorité absolue.
