Hoje notamos que é incrivelmente lento, se é que é possível, fazer upload de novas fotos de avatar. Também tem sido extremamente lento carregar alguns (mas não todos) os avatares maiores de usuários nos cartões de usuário em pop-up ou no perfil de página completa. Atualizamos para a versão 2.5.0.beta2 (ae3220fb88) na esperança de que isso ajudasse, mas sem sucesso.
Em https://discourse.example.org/logs, vemos o seguinte tipo de aviso ao tentar fazer upload de um novo arquivo de imagem de avatar pela página de perfil do usuário:
DistributedMutex(“upload_2_TEST.jpg”): mantido por tempo excessivo, máximo esperado: 60 segundos, levou 2 segundos a mais
/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'
Também há outros itens em /logs que parecem estar relacionados:
- [Aviso] DistributedMutex(“optimized_image_23_120_120”): mantido por tempo excessivo, máximo esperado: 60 segundos, levou 5 segundos a mais
- [Erro] ‘hijack uploads create’ ainda está em execução após 90 segundos no banco de dados padrão; este processo pode precisar ser reiniciado!
Aqui está como a interface se parece ao tentar fazer upload de uma imagem de avatar, após eventualmente expirar o tempo limite:
