2013-02-15 7 views
9

Ich habe seit einiger Zeit eine Java-Webanwendung mit hoher Replikation auf Google AppEngine ausgeführt. Ungefähr vor zwei Tagen - im Wesentlichen aus dem Nichts - begannen viele Anfragen mit HTTP-Status 500 und Fehlercode 121 zu versagen, was bedeutet, dass die jeweilige GAE-Instanz abstürzt oder heruntergefahren wird.Warum stürzen meine Google AppEngine-Instanzen mit dem Fehlercode 121 ab?

Hier ist ein beispielhafter Protokolleintrag, den ich habe jetzt Tonnen:

2013-02-15 06:44:00.909 /api 500 3770ms 0kb Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 
###.###.###.### - - [14/Feb/2013:22:44:00 -0800] "POST /api HTTP/1.1" 500 0 - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17" "###.########.###" ms=3770 cpu_ms=1191 exit_code=121 instance=00c61b117c2c2b8fd8c433bc45a62183829f6484 

W 2013-02-15 06:44:00.652 
    A problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. (Error code 121) 

Der Fehler manchmal direkt in einer ‚Warm-up‘ Anforderung auftritt, also wenn eine neue Instanz seine erste Anforderung empfängt. Eine zugehörige Protokolleintrag sieht wie folgt aus:

2013-02-15 06:40:02.779 /_ah/warmup 500 2970ms 0kb 
0.1.0.3 - - [14/Feb/2013:22:40:02 -0800] "GET /_ah/warmup HTTP/1.1" 500 0 - - "2013-02-14-1438.flox-by-gamua.appspot.com" ms=2971 cpu_ms=671 loading_request=1 exit_code=121 instance=00c61b117c48cb17ea555d1988c0db473c2390 

I 2013-02-15 06:40:02.437 
    This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application. 
W 2013-02-15 06:40:02.437 
    A problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. (Error code 121) 

Ich habe für dieses Problem im Web gesucht, und es sieht aus wie es vorher passiert: http://code.google.com/p/googleappengine/issues/detail?id=7348.

Da alle relevanten Themen haben als ‚gelöst‘ markiert worden ist, habe ich eine neue GAE Produktion Problem hier Datei tat http://code.google.com/p/googleappengine/issues/detail?id=8812

bearbeiten 2013.04.29: Der Link oben funktioniert nicht mehr, da Dieses Problem wurde vom GAE-Team als "Eingeschränkt" markiert.

Leider blieben meine Hilferufe seit über zwei Tagen unbemerkt. Deshalb frage ich in meiner Verzweiflung nach deiner Hilfe! :-)

Weiß jemand, was den Fehlercode 121 verursacht? Gibt es eine Form der Dokumentation? Stimmt etwas nicht mit meiner App? Gibt es eine Möglichkeit, das AppEngine-Team dazu anzuregen, sich dieses Problem anzusehen?

Danke!

+0

Können Sie uns sagen, ob Ihre App Java, Python oder Go ist? –

+0

Nick, Entschuldigung für das Vergessen: Es ist Java. – Holger

+0

Hi, Holger, geht dieser Fehler von selbst weg? Heute (vor 1 Stunde) habe ich genau das gleiche Problem (Fehlercode 121) wie Ihres. Meine App läuft seit einem Monat einwandfrei, bekomme aber gerade jetzt diesen Fehler. Meine App ist jedoch auf Python27/HRD. –

Antwort

0

Ich habe nichts sicher von Google gesehen. Sie sind oft schüchtern, solche Probleme zu erklären. Einer der Threads erwähnt Datenspeichermigration. Schau, ob das hilft;

http://code.google.com/p/googleappengine/issues/detail?id=7022

+0

Meine App verwendet bereits den High-Replikationsdatenspeicher. Also, die MS kann nicht der Grund für die Fehler sein. Tut mir leid, dass ich das in der Post nicht erwähnt habe. – Holger

+0

Ich sehe. Übrigens habe ich zwei seltsame Verhaltensweisen bei App Engine erlebt. 1) Konnte für eine Weile nicht in die Logs für meine App gelangen 2) Konnte mit der Anwendung nichts aus dem Datenspeicher löschen. Ich habe in der App umgeschichtet und nach einer Weile hat es gut funktioniert. Wie du schon sagtest, dein Problem ist gerade aufgetaucht, es könnte von selbst verschwinden. Nur Google kann beantworten, warum dies geschieht. Alles Gute – mhan

+0

Danke für die Info. Allerdings funktioniert das Web-Interface für mich gut. Auch die erneute Bereitstellung konnte die Fehler nicht beheben. Das war meine erste Vermutung. Danke noch einmal. – Holger

0

Ich antworte nicht genug Punkte haben, aber ich habe einen Fall spezifischen Gebrauch, die interessant scheint:

mit 8 Fällen
  • python27
  • HRD
  • dynamisch konfiguriert backed

Alles funktioniert wie erwartet, außer für eine Instanz , Instance = 2, die im Grunde Zyklen

  • '/ _ah/start'
  • (Fehlercode 121)
  • '/ _ah/stop'

Backends Sie eine bestimmte Adresse erlaubt Instanz wie 2.backendname.appname.appspot.com und anscheinend stimmt etwas mit dieser Instanz nicht.

Ich denke, es ist beruhigend zu wissen, dass es eine schlechte Instanz gibt, die aufgrund eines vagen Fehlercodes wiederholt fehlschlägt, anstatt dass viele Instanzen aufgrund eines vagen Fehlercodes zufällig versagen. Es wäre beruhigender, wenn diese Instanz fallengelassen würde, insbesondere wenn es dieses Muster durchläuft.

0

Überprüfen Sie die Aufbewahrungsgrenzen für Protokolle, und dass Sie diese nicht überschritten haben. Sie würden nicht erwarten, dass die Umgehung Ihrer Aufbewahrungsgrenzen für Protokolle zu einer Ausnahme führen würde, die die Instanz zum Scheitern brachte. Nachdem ich jedoch mine erhöht hatte, wurde diese Fehlermeldung nicht mehr angezeigt und meine Backend-Cronjobs konnten abgeschlossen werden.

+0

Nebel, danke für deine Antwort! Ich verstehe noch nicht, wie ich damit arbeiten soll: Wenn ich die Aufbewahrungsgrenzen für Logs erhöhe, erhalte ich größere Logs. Diese Protokolle müssen irgendwann gelöscht werden. Ich nehme an, das ist nur eine vorübergehende Lösung, da ich noch keine Möglichkeit gefunden habe, Protokolle manuell zu löschen. Ist das möglich? – Holger

+0

Nebel, ich habe gerade Ihren Log-Retention-Trick getestet, indem ich meine Aufbewahrungsgrenzen verdoppelt habe. Es behebt das Problem nicht für mich. – Holger

Verwandte Themen