Errore 502 - forse a causa del ridimensionamento della finestra del browser

Ho ricevuto un errore 502 qui su Meta oggi. A parte il pop-up, non ho notato alcun comportamento inatteso. Non sono sicuro di cosa l’abbia causato e non riesco a riprodurlo in modo coerente, ma sono riuscito a innescarlo alcune volte.

Ecco cosa ho fatto:

  1. Ho usato il “+” nella barra laterale per aprire la chat DM con qualcuno con cui avevo parlato prima ma che attualmente non è nella mia barra laterale.
  2. Ho usato il pulsante della chat a schermo intero.
  3. Ho cambiato la dimensione della finestra del browser rendendola più piccola.
  4. Ho riportato la finestra del browser a schermo intero.
  5. Sono passato dalla chat a schermo intero alla finestra di chat piccola.
  6. Circa 7 secondi dopo, ho visto
    image

La console del browser mostrava:
image

Questo è tutto quello che ho. Spero che qualcuno possa ricavarne qualcosa di più di quanto io possa. Se può essere d’aiuto, ho un video che mostra come ho riprodotto questo problema.

1 Mi Piace

Forse è causato da questo passaggio? È possibile che accada quando si cerca qualcuno in quel filtro chat?
image

1 Mi Piace

Penso di aver trovato il passaggio che devo riprodurre: quando digito “L” nel filtro della chat, l’errore appare circa 30 secondi dopo

2 Mi Piace

C’era una query errata utilizzata per restituire il conteggio degli utenti con la chat abilitata nel serializzatore del gruppo di chat e impiegava circa 30 secondi per il tuo account, che è il timeout di richiesta sul nostro hosting (motivo per cui lo ricevevi “casualmente”)

3 Mi Piace

Hmm, vedo che è stato unito. Significa che l’errore non dovrebbe più verificarsi?

Se ho identificato correttamente la causa principale, sì :sweat_smile:

Sta ancora succedendo?

Lo fa, forse meno frequentemente. È strano; a volte ci vogliono alcuni secondi e gli utenti vengono mostrati, e a volte fallisce.

:sad_but_relieved_face:

Quando succede, puoi mostrare la scheda di rete e la richiesta che sta richiedendo molto tempo?

Sospira. Lo chiedi come se ci volessero solo due clic del mouse.

Ci proverò.

È quello che intendo quando dico che a volte ci vogliono alcuni secondi e a volte fallisce:

image

Ok, ho capito :sweat_smile:

La mia prima correzione ha risolto solo una parte del problema :man_facepalming: C’era un’altra query inefficiente al database che veniva eseguita durante la ricerca di gruppi nel filtro della chat. A seconda dei gruppi che corrispondevano al termine di ricerca, la query poteva richiedere molto tempo per essere completata, a volte superando il timeout della nostra richiesta.

È interessante notare che questo ha interessato solo gli utenti “normali” e non gli “admin”, motivo per cui non sono riuscito a riprodurlo io stesso :thinking:

Quando si cercano gruppi, i risultati vengono restituiti in ordine alfabetico. Gli admin possono vedere tutti i gruppi, quindi i loro primi 10 risultati per “L” erano gruppi piccoli che iniziavano con ‘a’ (come “ai-personas” e altri gruppi non pubblici). Gli utenti normali hanno una visibilità più limitata, quindi i loro risultati includevano i grandi gruppi di livello di fiducia :grimacing:, che è ciò che ha causato la query lenta.

L’utente normale vede:

  • trust_level_0: 62.506 utenti
  • trust_level_1: 34.494 utenti
  • trust_level_2: 4.727 utenti
  • trust_level_3: 39 utenti
  • trust_level_4: 13 utenti
  • più alcuni gruppi più piccoli

Totale: ~102.000 utenti da caricare :collision:

L’admin vede:

  • a*****: 4 utenti
  • a*****: 76 utenti
  • a*****: 0 utenti
  • a*****: 2 utenti
  • ai-personas: 138 utenti
  • ecc.

Totale: ~240 utenti da caricare :relieved:

1 Mi Piace

Perché la ricerca di “L” restituisce quel gruppo?

Sono solo io che fallisco nell’“anonimizzare” i dati e nel trovare un esempio :man_facepalming:

1 Mi Piace

Il nome completo del gruppo contiene una L, quindi non ero sicuro se fosse questo il motivo, o se fosse un esempio casuale.