Aujourd’hui, nous avons constaté que le téléchargement de nouvelles photos d’avatar est incroyablement lent, voire impossible. Il est également très lent de charger certains (mais pas tous) les avatars volumineux des utilisateurs dans les cartes utilisateur en pop-up ou sur la page de profil complète. Nous avons mis à jour vers la version 2.5.0.beta2 (ae3220fb88) en espérant que cela aiderait, mais sans succès.
Dans https://discourse.example.org/logs, nous voyons le type d’avertissement suivant lors de la tentative de téléchargement d’un nouveau fichier image d’avatar via la page de profil utilisateur :
DistributedMutex(“upload_2_TEST.jpg”) : détenu trop longtemps, maximum attendu : 60 secondes, durée supplémentaire de 2 secondes
/var/www/discourse/lib/distributed_mutex.rb:54:in `warn'
/var/www/discourse/lib/distributed_mutex.rb:37:in `ensure in block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:41:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:14:in `synchronize'
/var/www/discourse/lib/upload_creator.rb:37:in `create_for'
/var/www/discourse/app/controllers/uploads_controller.rb:217:in `create_upload'
/var/www/discourse/app/controllers/uploads_controller.rb:36:in `block in create'
/var/www/discourse/lib/hijack.rb:56:in `instance_eval'
/var/www/discourse/lib/hijack.rb:56:in `block in hijack'
/var/www/discourse/lib/scheduler/defer.rb:94:in `block in do_work'
rails_multisite-2.1.0/lib/rails_multisite/connection_management.rb:64:in `with_connection'
/var/www/discourse/lib/scheduler/defer.rb:89:in `do_work'
/var/www/discourse/lib/scheduler/defer.rb:79:in `block (2 levels) in start_thread'
Il y a également d’autres éléments dans /logs qui semblent liés :
- [Avertissement] DistributedMutex(“optimized_image_23_120_120”) : détenu trop longtemps, maximum attendu : 60 secondes, durée supplémentaire de 5 secondes
- [Erreur] ‘hijack uploads create’ est toujours en cours d’exécution après 90 secondes sur db default, ce processus doit peut-être être redémarré !
Voici à quoi ressemble l’interface utilisateur lors de la tentative de téléchargement d’une image d’avatar, après un dépassement de délai éventuel :
