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:
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.
Ich habe die Schaltfläche für den Vollbild-Chat verwendet.
Ich habe die Größe des Browserfensters verkleinert.
Ich habe das Browserfenster wieder auf Vollbild gestellt.
Ich bin vom Vollbild-Chat zurück zum kleinen Chat-Fenster gewechselt.
Etwa 7 Sekunden später sah ich
Die Browserkonsole zeigte:
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.
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
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).
Meine erste Korrektur hat nur einen Teil des Problems behoben 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
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 , was die langsame Abfrage verursachte.
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.