502 Fehler - vielleicht wegen der Änderung der Browserfenstergröße

Ich habe heute hier bei Meta einen 502-Fehler erhalten. Abgesehen von dem Pop-up habe ich kein unerwartetes Verhalten bemerkt. Ich bin mir nicht wirklich sicher, was dies verursacht hat, und es gelingt mir nicht, es konsistent zu reproduzieren, aber es ist mir ein paar Mal gelungen, es auszulösen.

Hier ist, was ich getan habe:

  1. Ich habe das + in der Seitenleiste verwendet, um den Direktnachrichten-Chat mit jemandem zu öffnen, mit dem ich zuvor gesprochen hatte, der sich aber gerade nicht in meiner Seitenleiste befindet.
  2. Ich habe die Schaltfläche für den Vollbild-Chat verwendet.
  3. Ich habe die Größe des Browserfensters verkleinert.
  4. Ich habe das Browserfenster wieder auf Vollbild gestellt.
  5. Ich bin vom Vollbild-Chat zurück zum kleinen Chat-Fenster gewechselt.
  6. Etwa 7 Sekunden später sah ich
    image

Die Browserkonsole zeigte:
image

Das ist alles, was ich habe. Ich hoffe, jemand kann mehr daraus ableiten als ich. Falls es hilft, habe ich ein Video, das zeigt, wie ich dies reproduziert habe.

1 „Gefällt mir“

Vielleicht wird es durch diesen Schritt verursacht? Ist es möglich, dass es passiert, wenn man jemanden in diesem Chat-Filter sucht?
image

1 „Gefällt mir“

Ich glaube, ich habe den Schritt gefunden, den ich reproduzieren muss: Wenn ich „L“ in den Chatfilter eingebe, erscheint der Fehler etwa 30 Sekunden später

2 „Gefällt mir“

Es gab eine fehlerhafte Abfrage, die verwendet wurde, um die Anzahl der Benutzer mit aktiviertem Chat im Chatgruppen-Serializer zurückzugeben, und diese dauerte für Ihr Konto etwa 30 Sekunden, was dem Timeout auf unserem Hosting entspricht (deshalb trat es „zufällig“ auf).

3 „Gefällt mir“

Hmm, ich sehe, dass es zusammengeführt wurde. Bedeutet das, dass der Fehler nicht mehr auftreten sollte?

Wenn ich die Ursache richtig ermittelt habe, ja :sweat_smile:

Tritt es immer noch auf?

Das tut es, vielleicht seltener. Es ist seltsam; manchmal dauert es ein paar Sekunden und die Benutzer werden angezeigt, und manchmal schlägt es fehl.

:sad_but_relieved_face:

Wenn es passiert, können Sie dann den Tab „Netzwerk“ und die Anfrage anzeigen, die lange dauert?

Seufz. Sie fragen das, als ob es nur zwei Mausklicks gedauert hätte.

Ich werde es versuchen.

Das meine ich damit, dass es manchmal ein paar Sekunden dauert und manchmal fehlschlägt:

image

Ok, ich habe es herausgefunden :sweat_smile:

Meine erste Korrektur hat nur einen Teil des Problems behoben :man_facepalming: Es gab eine weitere ineffiziente Datenbankabfrage, die auftrat, wenn im Chatfilter nach Gruppen gesucht wurde. Abhängig davon, welche Gruppen mit Ihrem Suchbegriff übereinstimmten, konnte die Abfrage sehr lange dauern – manchmal unsere Anforderungs-Timeout-Grenze überschreitend.

Interessanterweise betraf dies nur „reguläre“ Benutzer und nicht „Administratoren“, weshalb ich es selbst nicht reproduzieren konnte :thinking:

Bei der Suche nach Gruppen werden die Ergebnisse alphabetisch zurückgegeben. Administratoren können alle Gruppen sehen, daher waren ihre ersten 10 Ergebnisse für „L“ kleine Gruppen, die mit „a“ begannen (wie „ai-personas“ und andere nicht-öffentliche Gruppen). Reguläre Benutzer haben eine eingeschränktere Sichtbarkeit, daher enthielten ihre Ergebnisse die großen Vertrauensstufen-Gruppen :grimacing:, was die langsame Abfrage verursachte.

Regulärer Benutzer sieht:

  • trust_level_0: 62.506 Benutzer
  • trust_level_1: 34.494 Benutzer
  • trust_level_2: 4.727 Benutzer
  • trust_level_3: 39 Benutzer
  • trust_level_4: 13 Benutzer
  • plus einige kleinere Gruppen

Gesamt: ~102.000 Benutzer zum Laden :collision:

Administrator sieht:

  • a*****: 4 Benutzer
  • a*****: 76 Benutzer
  • a*****: 0 Benutzer
  • a*****: 2 Benutzer
  • ai-personas: 138 Benutzer
  • usw.

Gesamt: ~240 Benutzer zum Laden :relieved:

1 „Gefällt mir“

Warum gibt die Suche nach „L“ diese Gruppe zurück?

Ich selbst, wie ich beim „Anonymisieren“ der Daten versage und mir ein Beispiel ausdenke :man_facepalming:

1 „Gefällt mir“

Der vollständige Name der Gruppe enthält ein L, daher war ich mir nicht sicher, ob das der Grund war oder ob es sich um ein zufälliges Beispiel handelte.