为什么我的Google AppEngine实例会因“错误代码121”而崩溃?

时间:2013-02-15 07:12:35

标签: google-app-engine

我已经在Google AppEngine上运行了一个java高复制Web应用程序已有一段时间了。大约两天前 - 基本上无处不在 - 很多请求开始失败, HTTP状态500 错误代码121 ,这意味着相应的GAE实例崩溃或关闭下来。

这是一个示例性的日志条目,我现在有很多:

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)

错误有时会发生在'预热'请求中,因此当新实例收到第一个请求时。关联的日志条目如下所示:

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)

我一直在网上搜索此问题,它看起来像以前发生过:http://code.google.com/p/googleappengine/issues/detail?id=7348

由于所有相关问题都已标记为“已解决”,因此我确实在此处提交了新的GAE生产问题:http://code.google.com/p/googleappengine/issues/detail?id=8812

编辑2013-04-29:上述链接不再有效,因为此问题已被GAE小组标记为“受限制”。

不幸的是,我的呼救声已经被忽视了两天多了。这就是为什么我在绝望中寻求你的帮助! : - )

有谁知道导致错误代码121的原因是什么?有某种形式的文件吗?我的应用程序有问题吗?有没有办法轻推AppEngine团队来研究这个问题?

Thanksalot!

3 个答案:

答案 0 :(得分:0)

Google没有看到任何有关此事的确定信息。他们经常害羞地解释这些问题。其中一个线程确实提到了数据存储区迁移。看看是否有帮助;

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

答案 1 :(得分:0)

我没有足够的回答,但我有一个特别有用的用例:

  • python27
  • HRD
  • 动态支持配置了8个实例

一切都按预期工作,除了一个实例,实例= 2,基本上循环

  • '/ _啊/启动'
  • (错误代码121)
  • '/ _啊/停止'

Backends允许您处理特定的实例,例如2.backendname.appname.appspot.com,并且显然该实例出现了问题。

我想知道有一个错误的实例由于模糊的错误代码而反复失败,而不是由于模糊的错误代码而导致的许多实例随机失败,这让我很放心。如果那个实例被丢弃等等,尤其是如果它循环这种模式,那就更让人放心了。

答案 2 :(得分:0)

检查您的日志保留限制,并确保您没有超出限制。你不希望绕过你的日志保留限制会导致导致实例失败的异常,但是在我增加了我之后,我停止看到这个错误突然出现,我的后端cron作业能够完成。