Frage Heroku H18 503 "Request Interrupted" Fehler


Ich sehe einige davon. Ich verstehe, was sie bedeuten, weshalb ich nicht verstehen kann, warum es passiert. Ist sehr inkonsistent und scheint kein Timeout-Problem zu sein.

Relevante Sachen:

  • Php / Laravel / Postgres Heroku
  • Ich erzwinge SSL
  • Ich route / nach / auf einer anderen Route
  • Ich kann mit keinem Kunden selbst replizieren
  • Die Route ist nicht immer die gleiche, manchmal eine einfache Ladung eines Assets
  • Ich habe keine Anwendungsfehler gemeldet
  • Socken = Kunde
  • Die Servicezeit ist immer <1 Sekunde

Einige Protokolldaten:

29. Oktober 18:22:12 myapp-web-produktion heroku / router: sock = client bei = fehlercode = H18 desc = "Request Unterbrochen" method = GET path = "/ aroute" host = ... request_id = ... fwd = "##. ##. ##. ###" dyno = web.1 Verbindung = 2ms Dienst = 34ms Status = 503 Byte = 3816

Oct 29 18:22:13 myapp-web-produktion heroku / router: sock = client bei = fehlercode = H18 desc = "Request Unterbrochen" method = GET path = "/ aroute" host = ... request_id = ... fwd = "##. ##. ##. ###" dyno = web.1 Verbindung = 1 ms Dienst = 538 ms Status = 503 Bytes = 3822

29. Oktober 18:22:14 myapp-web-produktion heroku / router: sock = client bei = fehlercode = H18 desc = "Request Unterbrochen" method = GET path = "/ aroute" host = ... request_id = ... fwd = "##. ##. ##. ###" dyno = web.1 Verbindung = 1ms Dienst = 406ms Status = 503 Byte = 13927

Ich stecke fest. Jede Hilfe wäre willkommen.


6
2017-10-30 03:05


Ursprung


Antworten:


ich nehme sock=client Attribut bedeutet, dass der Client gerade die Verbindung trennt, bevor der Server antworten kann. Wir können dies reproduzieren, indem wir dem Handler eine künstliche Verzögerung von 10s hinzufügen und dann zum Beispiel den Endpunkt in einem Webbrowser anfordern und ihn schließen, bevor der Server antworten kann.

Wir filtern nur alle H18 mit sock=client aus unseren Protokollen.


6
2017-11-03 17:22