La communication n'est pas toujours le point fort de Riot, surtout quand il s'agit de l'Europe. Alors, quand il y a des explications détaillées sur certaines choses comme des problèmes serveurs, on apprécie toujours ! Pour cette fois, c'est Dromaius qui nous parle
des problèmes serveurs survenus le 17 novembre, pendant la matinée.
Message post-incident
Hey tout le monde
Voici ce qui est arrivé hier, et également ce qui a conduit à une perte de connectivité aux serveurs EUW, Turques, et Russes, ainsi qu'à une partie des joueurs des serveurs EUNE.
Le problème a commencé à 08h00 GMT +1, le 17 novembre. Nous avons commencé à recevoir des signalements de joueurs qui n'arrivaient pas à se connecter aux serveurs EUW, et nous avons alors débuté une collecte de données pour essayer de trouver des similitudes entre les signalements.
Les équipes d'ingénieurs associées à l'incident se sont jointes aux investigations, et nous avons travaillé méticuleusement pour écarter les potentielles causes. Nous avons également réduit le problème de "Tout est cassé" à "Le système XYZ est le problème".
Ce qu'il s'est passé est qu'une petite partie des joueurs ne pouvait pas se connecter au jeu, et leur position géographique pouvait être n'importe où. Il n'y avait pas une localisation précise du problème, et les 3 serveurs (ainsi que le serveur EUNE, moins affecté) étaient concernés par le problème, mais les serveurs EUW, RU et TR, étaient situés à des endroits différents là où l'authentification au serveur a lieu. En clair, nous avions un nombre hasardeux de sources, et de multiples destinations affectées.
Pendant l'investigation, nous avons pensé que les problèmes sur l'EUW étaient indépendants de ceux sur les serveurs TR/RU, puisqu'ils sont à des endroits différents, comme mentionné ci-dessus, et nous avons investigué en partant de cette piste, en traitant ces deux groupes comme des problèmes séparés. Nous avons cherché du côté du transit du réseau, du côté du réseau de nos datacenters, puis nous avons procédé à des vérifications, et nous nous sommes assurés que la communication entre tous les éléments nécessaires fonctionnait. De toutes les manières que nous avons abordé le problème, aucune n'a permis de trouver la source du problème, mais nous savions que les joueurs avaient toujours des problèmes pour se connecter, malgré nos tentatives pour résoudre le problème.
Une chose qui revenait sans cesse pendant la journée était les erreurs CloudFlare qui étaient reçues, avec un code 522, qui signifiait que la connexion entre CloudFlare et Riot avait dépassé le délai d'attente maximum. En observant notre trafic réseau, le transit de paquets, etc... Tout allait bien cependant. Vers 15h00 GMT +1, nous avons trouvé une faille dans nos investigations et ce qui causait le problème, et nous sommes repartis de ça. Nous avons tracé le trafic entre deux points d'une infrastructure, et nous avons vu qu'il disparaissait sur l'un des deux points. Nous avons tenté de forcer les données à venir par un autre chemin, et confirmé que les joueurs étaient alors capables de se connecter.
De là, nous avons conclu que quelque chose avec le moteur de routage de notre matériel devait agir bizarrement, et nous avons continué à chercher, et finalement nous avons trouvé que nous avions une partie de nos routes (Et donc des joueurs utilisant ces routes pour se connecter) qui était coincée dans une boucle entre deux points d'une infrastructure européenne.
Lorsque nous avons essayé de corriger le problème à 15h30 GMT +1, nous avons malheureusement perturbé l'expérience de jeu de tous les joueurs, et la plateforme EUW a fini par déconnecter tous les joueurs du client et du jeu, alors que l'impact était plus limité sur les serveurs TR, RU, et EUNE. Nous avons vite activé les défaites annulées pour tout le monde, et mis en place un message pour vous faire savoir que nous avions connaissance du problème.
Après avoir résolu tous les problèmes de la journée, nous avons surveillé les joueurs pendant qu'ils se reconnectaient à la plateforme, et vu qu'ils pouvaient jouer normalement. Les autres joueurs qui avaient des problèmes avant la résolution du problème pouvaient eux aussi se reconnecter, et nous avons considéré l'incident comme résolu autour de 17h00 GMT +1, une fois que nous avons pu confirmer que tout était revenu à la normale.
Essentiellement, ce qu'il s'est passé est qu'une table de routage a fini dans un état qui la faisait envoyer une petite partie du trafic vers ce qui est considéré comme une route "préférée". Mais l'endroit où les données étaient envoyées n'était pas celui où elles étaient supposées aller, donc les joueurs avec des problèmes de connexion terminait avec un timeout (Délai d'attente dépassé), et ne recevaient pas de réponse des serveurs d'authentification.
Ce qui a provoqué cette erreur est inconnu actuellement, et même s'il serait facile de penser que la maintenance qui a eu lieu quelques heures avant le début de l'incident pourrait être la cause, il est important de noter que ce problème était présent depuis longtemps. Cela a pu empirer les choses, bien sûr, mais c'est un problème qui était là avant, caché dans l'ombre. La bonne nouvelle est que cela a pu résoudre quelques problèmes de connexion.
Merci à tous pour votre patience, et bonne chance sur la faille !