Error 502 - ¿quizás por redimensionar la ventana del navegador?

Hoy recibí un error 502 aquí en Meta. Aparte de la ventana emergente, no noté ningún comportamiento inesperado. No estoy muy seguro de lo que lo causó y no puedo reproducirlo de manera consistente, pero pude provocarlo varias veces.

Esto es lo que hice:

  1. Usé el signo + en la barra lateral para abrir el chat de Mensaje Directo con alguien con quien había hablado antes pero que actualmente no está en mi barra lateral.
  2. Usé el botón de chat a pantalla completa.
  3. Cambié el tamaño de la ventana del navegador para que fuera más pequeña.
  4. Volví a poner la ventana del navegador a pantalla completa.
  5. Cambié del chat a pantalla completa de nuevo a la ventana de chat pequeña.
  6. Unos 7 segundos después, vi
    image

La consola del navegador mostró:
image

Eso es todo lo que tengo. Espero que alguien pueda sacar más provecho de esto que yo. Si sirve de algo, tengo un video que muestra cómo reproduje esto.

1 me gusta

¿Quizás esté causado por este paso? ¿Es posible que suceda cuando buscas a alguien en ese filtro de chat?
image

1 me gusta

Creo que he encontrado el paso que necesito reproducir: Cuando escribo “L” en el filtro de chat, el error aparece unos 30 segundos después

2 Me gusta

Hubo una consulta deficiente que se utilizó para devolver el recuento de usuarios con el chat habilitado en el serializador del grupo de chat y tardaba unos ~30 segundos para su cuenta, lo que provoca el tiempo de espera de la solicitud en nuestro alojamiento (de ahí que lo recibiera “aleatoriamente”)

3 Me gusta

Mmm, veo que se ha fusionado. ¿Eso significa que el error ya no debería ocurrir?

Si identifiqué la causa raíz correctamente, sí :sweat_smile:

¿Todavía está ocurriendo?

Sí, lo hace, tal vez con menos frecuencia. Es extraño; a veces tarda unos segundos y los usuarios se muestran, y a veces falla.

:sad_but_relieved_face:

Cuando suceda, ¿puedes mostrar la pestaña de red y la solicitud que está tardando mucho?

Suspiro. Preguntas eso como si solo tomara dos clics del ratón.

Lo intentaré.

Eso es a lo que me refiero al decir que a veces tarda unos segundos y a veces falla:

image

Ok, lo descubrí :sweat_smile:

Mi primera corrección solo abordó una parte del problema :man_facepalming: Había otra consulta ineficiente a la base de datos ocurriendo al buscar grupos en el filtro de chat. Dependiendo de qué grupos coincidieran con su término de búsqueda, la consulta podía tardar mucho tiempo en completarse, a veces superando nuestro tiempo de espera de solicitud.

Curiosamente, esto solo afectó a los usuarios “regulares” y no a los “administradores”, por eso no pude reproducirlo yo mismo :thinking:

Al buscar grupos, los resultados se devuelven alfabéticamente. Los administradores pueden ver todos los grupos, por lo que sus primeros 10 resultados para “L” eran grupos pequeños que comenzaban con ‘a’ (como “ai-personas” y otros grupos no públicos). Los usuarios regulares tienen una visibilidad más limitada, por lo que sus resultados incluían los grandes grupos de nivel de confianza :grimacing:, que es lo que causó la consulta lenta.

El usuario regular ve:

  • trust_level_0: 62,506 usuarios
  • trust_level_1: 34,494 usuarios
  • trust_level_2: 4,727 usuarios
  • trust_level_3: 39 usuarios
  • trust_level_4: 13 usuarios
  • más algunos grupos más pequeños

Total: ~102,000 usuarios para cargar :collision:

El administrador ve:

  • a*****: 4 usuarios
  • a*****: 76 usuarios
  • a*****: 0 usuarios
  • a*****: 2 usuarios
  • ai-personas: 138 usuarios
  • etc.

Total: ~240 usuarios para cargar :relieved:

1 me gusta

¿Por qué la búsqueda de “L” devuelve ese grupo?

Solo yo fallando en “anonimizar” los datos y creando un ejemplo :man_facepalming:

1 me gusta

El nombre completo del grupo contiene una L, así que no estaba seguro de si esa era la razón o si era un ejemplo aleatorio.