Salut @ariznaf,
Je me suis réveillé ce matin après être resté hors ligne pendant 12 heures, et j’ai basculé vers notre configuration socket-only.yml. Tout est de nouveau normal.
Donc, au moins de mon côté de l’immense univers Discourse, tout va bien à nouveau dans le monde des « deux conteneurs avec nginx en proxy inverse vers un socket Unix ».
Nous avions basculé vers la configuration frontend nginx environ six heures avant que l’anomalie ne soit remarquée, et tout fonctionnait parfaitement.
Grâce à ce conseil utile de @riking (comme toujours, merci beaucoup, Kane) :
Les différentes versions redimensionnées des avatars ne sont pas incluses dans une sauvegarde, seuls les originaux le sont. Il faudra un certain temps au travail planifié pour parcourir les données et générer les versions redimensionnées de chaque avatar.

Ma meilleure hypothèse est que, lorsque nous avons effectué le passage à nginx, nous n’avons remarqué aucun problème car les nombreuses images d’avatar étaient déjà mises en cache et le processus de régénération n’était pas encore terminé. Ainsi, au fil du temps, le cache de ces images a expiré et l’anomalie a commencé à apparaître.
Alors, je suis resté hors ligne pendant 12 heures (le conteneur socket-only.yml était toujours en cours d’exécution en arrière-plan, mais inactif), je me suis réveillé le matin, et sidekiq avait accompli sa magie pendant la nuit (ici), comme l’a fait @riking (un excellent support, soit dit en passant, Kane, sur chaque sujet ici sur Meta).
Ce scénario semble confirmer ce que @riking a suggéré.
Honnêtement, plus nous utilisons Discourse, plus nous l’apprécions. Les accrocs et anomalies sont très intéressants, et la configuration à deux conteneurs est vraiment excellente.
Nos conteneurs ressemblent actuellement à ceci :
# ls -l containers
-rw-r--r-- 1 discourse root 1124 Apr 15 11:29 data.yml
-rw-r--r-- 1 discourse root 3939 Apr 16 07:45 socket-only.yml
-rw-r--r-- 1 discourse root 3784 Apr 16 07:28 socket.yml
-rw-r--r-- 1 discourse root 3921 Apr 15 11:50 web-only.yml
Ce que j’aime dans cette configuration, c’est que même lorsque nous rencontrons un problème, par exemple cette anomalie de régénération des avatars, nous pouvons facilement basculer entre socket-only.yml et web-only.yml.
Dans ce cas, nous sommes revenus à web-only (pendant cette régénération), puis nous avons basculé à nouveau une fois le processus terminé (car tous les conteneurs sont toujours en cours d’exécution). Lorsque nous effectuons une reconstruction du conteneur, nous pouvons simplement basculer entre ces conteneurs et configurations très facilement.
Après deux décennies d’exploitation d’un forum LAMP, nous sommes de plus en plus impressionnés par Discourse, du côté de l’administration système.
Sidebar (Éditorial) :
Bien sûr, cela dépasse largement mon niveau de compétence ici sur Meta, mais je pense que la configuration de base à deux conteneurs (sans proxy inverse) devrait être la valeur par défaut, car elle est très facile à configurer et nous en tirons bien plus d’avantages que toute « pénalité » perçue liée à l’existence de deux fichiers yml.