Movendo posts retorna 502 Bad Gateway

I’m trying to move ~100 posts to an existing topic.

After a delay of about 10 seconds, it says there was an error when moving posts in a green alert area:

No new entries in /logs

No useful information in console either:

What can be wrong and where to look for the error?

Yeah, what this probably means is that you tried to get Discourse to do so much work it had to time out the web worker (which happens after 30 seconds)

We should fix the underlying issue here, moving 100 posts really should not take that long and we can defer a bunch of the work.


Marking this as a performance bug

For now, the work-around would be to move by small portions?

Yes, absolutely. Your server is stretched anyway from what I can tell.

Acabei de receber esse erro 502 ao tentar mover posts de um tópico para outro.

É bem repetitivo :frowning:

Quantos estavam se movendo?

acontece várias vezes no nosso caso recentemente, ao mover um único post para um novo tópico.

Tentei vários conjuntos, de centenas a dezenas, em um único post!
Não consigo encontrar o motivo pelo qual às vezes não funciona e em outras vezes funciona perfeitamente.

Atualizado para a versão 2.4.0.beta4 (cb8fa46970), mas ainda ocorrem erros 502 ao mover 1/5/10/50 mensagens.
Isso interrompe a rotina de administração, impedindo que eu organize alguns tópicos.

Sofre.

Algum log/estatística/configuração ajudaria?

@gerhard, isso é semelhante ao outro problema relatado por @Pad_Pors?

Estou vendo a mesma coisa. Não encontrei nada relevante nos logs, exceto isso em /logs:

Erro: No Reason Phrase
Url: https://.no/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js

Me avise se houver uma maneira melhor de depurar isso.

Corrigi um erro que podia ocorrer ao mover posts para um tópico existente que havia sido dividido no passado. Isso resolve o problema que você está enfrentando?


Tem certeza de que ocorreu ao mover para um tópico novo? Se for o caso, então é um erro diferente daquele que corrigi e que notei em nossos logs.

Infelizmente, ainda estou recebendo erros 502 com a correção:

Há algum erro em /logs? Quantas publicações você está movendo? Você está movendo a primeira postagem de um tópico? Você está movendo para um tópico novo ou existente? Há algo fora do comum (como mensagens privadas, postagens excluídas ou tópicos previamente divididos) envolvido?

Sim, (antes de uma atualização recente) enfrentamos o problema de gateway 502 ruim ao tentar mover respostas para um novo tópico (isso acontecia aleatoriamente e nem sempre).

Vou relatar se isso ainda acontecer.

Estou com dificuldade para encontrar um padrão, infelizmente. O problema ocorre ao mover um ou vários posts. No entanto, tenho a impressão de que falha com mais frequência ao mover entre dois tópicos maiores, dos quais tenho muitos. Muitos foram divididos várias vezes. Nunca usei sussurros, mas há muitos posts excluídos na maioria dos tópicos. Não há erros óbvios nos logs :frowning:

edit: Acredito que começou após a atualização para o beta5.

Olá,

em https://community.hiveeyes.org/, recentemente experimentamos a mesma coisa ao mover posts entre tópicos. Embora ainda não tenhamos investigado mais a fundo,

Se isso puder ajudar: foi apenas um único post [1] que queríamos mover de um tópico não público para um público, o que gerou esse erro. Após falhar nisso, replicamos o post manualmente.

Com os melhores cumprimentos,
Andreas.

[1] Pycom Firmware Release 1.20.1 - #9 by clemens - Firmwareschmiede / Firmware development - Hiveeyes

Ok, então o erro 500 deve estar corrigido na versão mais recente e acabei de fazer um commit com outra correção para que o erro real apareça nos logs caso haja outro bug por lá.

Se você receber um erro 502, significa que a movimentação está demorando demais e atingiu o limite de tempo. Fiz muitas mudanças nos últimos meses para mover mais metadados ao mover posts. Tentei otimizá-lo, mas isso depende muito da quantidade de dados e ainda pode ser muito intensivo em recursos para alguns servidores realizarem todo o trabalho em menos de 30 segundos.

A solução será refatorar isso mais uma vez e armazenar informações sobre posts movidos permanentemente no banco de dados (em vez de uma tabela temporária) e realizar todo o trabalho pesado em uma tarefa em segundo plano.

Isso parece correto, pois a solicitação realmente leva bastante tempo até retornar o 502 :slight_smile: