Erro 502 - talvez por redimensionar a janela do navegador

Hoje recebi um erro 502 no Meta. Exceto pelo pop-up, não notei nenhum comportamento inesperado. Não tenho muita certeza do que causou isso e não consigo reproduzi-lo consistentemente, mas consegui acioná-lo algumas vezes.

Aqui está o que fiz:

  1. Usei o sinal de + na barra lateral para abrir o chat de Mensagem Direta (DM) com alguém com quem conversei antes, mas que atualmente não está na minha barra lateral.
  2. Usei o botão de chat em tela cheia.
  3. Reduzi o tamanho da janela do navegador.
  4. Coloquei a janela do navegador em tela cheia novamente.
  5. Mudei do chat em tela cheia de volta para a janela de chat pequena.
  6. Cerca de 7 segundos depois, vi
    image

O console do navegador mostrou:
image

É tudo o que tenho. Espero que alguém consiga tirar mais proveito disso do que eu. Se ajudar, tenho um vídeo mostrando como reproduzi isso.

1 curtida

Talvez seja causado por esta etapa? É possível que aconteça quando você procura por alguém nesse filtro de chat?
image

1 curtida

Acho que encontrei a etapa que preciso reproduzir: Quando digito “L” no filtro de bate-papo, o erro aparece cerca de 30 segundos depois

2 curtidas

Houve uma consulta ruim que estava sendo usada para retornar a contagem de usuários com o chat ativado no serializador do grupo de chat e estava levando cerca de 30 segundos para sua conta, o que é o tempo limite de solicitação em nossa hospedagem (por isso você estava recebendo isso “aleatoriamente”)

3 curtidas

Hmm, vejo que foi mesclado. Isso significa que o erro não deve mais ocorrer?

Se eu identifiquei a causa raiz corretamente, sim :sweat_smile:

Ainda está acontecendo?

Sim, talvez com menos frequência. É estranho; às vezes leva alguns segundos e os usuários são mostrados, e às vezes falha.

:sad_but_relieved_face:

Quando acontecer, você pode mostrar a aba de rede e a requisição que está demorando muito?

Suspiro. Você pergunta isso como se levasse apenas dois cliques do mouse.

Vou tentar.

É isso que quero dizer quando digo que às vezes leva alguns segundos e às vezes falha:

image

Ok, eu descobri :sweat_smile:

Minha primeira correção abordou apenas parte do problema :man_facepalming: Havia outra consulta ineficiente ao banco de dados ocorrendo ao pesquisar grupos no filtro de bate-papo. Dependendo de quais grupos correspondiam ao seu termo de pesquisa, a consulta poderia levar muito tempo para ser concluída – às vezes excedendo nosso tempo limite de solicitação.

Curiosamente, isso afetou apenas usuários “normais” e não “administradores”, razão pela qual eu não conseguia reproduzir o problema sozinho :thinking:

Ao pesquisar grupos, os resultados são retornados em ordem alfabética. Administradores podem ver todos os grupos, então seus primeiros 10 resultados para “L” eram grupos pequenos começando com ‘a’ (como “ai-personas” e outros grupos não públicos). Usuários normais têm visibilidade mais limitada, então seus resultados incluíam os grandes grupos de nível de confiança :grimacing:, o que causou a consulta lenta.

Usuário normal vê:

  • trust_level_0: 62.506 usuários
  • trust_level_1: 34.494 usuários
  • trust_level_2: 4.727 usuários
  • trust_level_3: 39 usuários
  • trust_level_4: 13 usuários
  • mais alguns grupos menores

Total: ~102.000 usuários para carregar :collision:

Administrador vê:

  • a*****: 4 usuários
  • a*****: 76 usuários
  • a*****: 0 usuários
  • a*****: 2 usuários
  • ai-personas: 138 usuários
  • etc.

Total: ~240 usuários para carregar :relieved:

1 curtida

Por que a busca por “L” retorna esse grupo?

Sou só eu falhando em “anonimizar” os dados e criando um exemplo :man_facepalming:

1 curtida

O nome completo do grupo contém um L, então eu não tinha certeza se esse era o motivo, ou se era um exemplo aleatório.