Movendo posts retorna 502 Bad Gateway

Aumentamos nossa memória RAM e recriamos o banco de dados, mas o problema persiste.

Gostaria de perguntar se os desenvolvedores estão cientes desse problema.. Obrigado!

Existe alguma correção rápida que eu possa fazer como administrador? Talvez um tempo de espera maior?

Não tenho certeza. Parece que um tempo limite maior ajudaria. Isso acontece com muito mais frequência em threads muito populosas, então parece que há uma amostragem ou varredura que demora demais.

Se eu conseguir descobrir como implementar isso, aviso vocês. Eu dobraria o valor.

Sim, o problema persiste na versão 2.5.0.beta2

Você executou a configuração do Discourse após alterar a memória RAM? Existem configurações que precisam ser atualizadas para aproveitar ao máximo a memória RAM.

Não tenho certeza, pois a implementação depende de outra pessoa. Mas vou mencionar a ele que isso precisa ser feito para concluir o processo. Muito obrigado!

Olá,
Estou recebendo muitos erros 502 ao mover posts.
Vocês têm um plano para melhorar esse cenário?

Obrigado

Olá, você conseguiu encontrá-lo? Seria ótimo parametrizar o tempo limite no app.yml ENV ou nas configurações do site do Discourse para nós que temos pouca memória.


Talvez seja uma pergunta boba?


Quando você move muitos posts como este, esse processo é gerenciado pelo Sidekiq?

Desculpe, não procurei no código…


Atualização


Dê uma olhada rápida na base de código Ruby e, sim, quando a função de mover posts é chamada, as tarefas são enfileiradas com o enqueue_jobs().

Não sendo um desenvolvedor do Discourse, parece a um observador casual que problemas relacionados a atrasos, erros ou timeouts relacionados à movimentação de posts estariam diretamente ligados ao desempenho e à configuração do sidekiq.

Tentei estudar como o Discourse usa o Sidekiq no nível do sistema há alguns dias, mas não consegui encontrar a versão “resumo” para iniciantes.

Então, fui ao site do Sidekiq para tentar entender melhor o que está acontecendo por trás das cenas e notei que havia três ofertas diferentes. Fiquei confuso e segui em frente :slight_smile: porque não consegui entender, dentro do meu curto tempo de atenção e necessidade de gratificação imediata, qual versão do Sidekiq o Discourse usa, quais são os recursos exatos e as opções que podem ser configuradas…

Sendo um iniciante nessa área, tenho interesse em saber exatamente a arquitetura, recursos, opções e variáveis de ambiente do sidekiq disponíveis no discourse… mas até agora “ainda não encontrei o que estou procurando” - cantado no ritmo da nossa música favorita do U2.

Todas as respostas nascem da curiosidade…

Atualização:

Com base em uma dica de um líder em outro tópico, desativamos todos os plug-ins, exceto o “quem está online”, e agora não temos mais problemas com movimentações ultimamente.

Portanto, otimismo cauteloso. Atualizarei se houver mudanças.

Obrigado a todos que prestaram assistência neste problema!

Quais plugins exatamente você desativou?

Idealmente, eu teria testado cada um individualmente para verificar qual(is) estava(m) causando problemas, mas não esperava que funcionasse, então desativei todos de uma vez.

Muito provavelmente é um erro de digitação. Estou supondo que existam ganchos que são acionados ao mover uma postagem.

Bom saber. Obrigado. E parabéns ao @featheredtoast pela correção.

Minha comunidade começou recentemente a experimentar o problema de erro 502 ao mover publicações, especialmente entre tópicos grandes. Eu não tinha plugins personalizados instalados. Seguindo o conselho de outro tópico do Discourse, aumentei os unicorn_workers para 10 e o db_shared_buffers para 4096 MB, mas isso não melhorou a situação. Abaixo está o log do ./discourse-doctor do nosso fórum. Espero obter algumas orientações. Obrigado!

==================== INFORMAÇÕES DO DOCKER ====================
VERSÃO DO DOCKER: Docker version 17.10.0-ce, build f4ffd25

PROCESSOS DO DOCKER (docker ps -a)

ID DO CONTAINER        IMAGEM                 COMANDO             CRIADO              STATUS              PORTAS                                      NOMES
ddfb2222fd64        local_discourse/app   "/sbin/boot"        10 dias atrás         Up 10 dias          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

ddfb2222fd64        local_discourse/app   "/sbin/boot"        10 dias atrás         Up 10 dias          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

O contêiner Discourse app está em execução


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git

Nenhum plugin não oficial detectado.

Veja https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb para a lista oficial.

========================================
Discourse 2.6.0.beta2
Versão do Discourse em localhost: Discourse 2.6.0.beta2 


==================== INFORMAÇÕES DE MEMÓRIA ====================
RAM (MB): 16434

              total        usada        livre      compartilhada  buff/cache   disponível
Mem:          16048        5605         919        4255        9523        5850
Swap:          2047         437        1610

==================== VERIFICAÇÃO DE ESPAÇO EM DISCO ====================
---------- Espaço em Disco do SO ----------
Sistema de Arquivos                 Tamanho  Usado  Disponível Uso% Montado em
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /var/lib/docker/aufs
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /var/lib/docker/plugins
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /

---------- Espaço em Disco do Contêiner ----------
flag abreviada desconhecida: 'w' em -w
Veja 'docker exec --help'.


==================== INFORMAÇÕES DO DISCO ====================
Disco /dev/vda: 320 GiB, 343597383680 bytes, 671088640 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico/físico): 512 bytes / 512 bytes
Tamanho de E/S (mínimo/ótimo): 512 bytes / 512 bytes
Tipo de rótulo de disco: gpt
Identificador do disco: 29B528BA-16C4-402E-BEE9-53555C8B6F10

Dispositivo     Início       Fim   Sectors  Tamanho Tipo
/dev/vda1   2048 671086591 671084544  320G Sistema de arquivos Linux

==================== FIM DAS INFORMAÇÕES DO DISCO ====================

Oi, estou enfrentando o mesmo problema. Não consigo dividir megatópicos por causa disso.
Também tentei no modo seguro, mas não mudou nada.

Não há problema na minha instalação de desenvolvimento do Discourse (mesma versão 2.6.0.beta2), no entanto.
E nada nos logs.

Estou recebendo esses erros 502 há um ano :frowning:

Acho que não te perguntamos: quais plugins você está usando?

Desativei todos os plugins para verificar se é um bug relacionado a eles. Parece que o problema se repete de forma estável com threads longas.