【问题标题】:constant HTTP 503 error when uploading files to Google App Engine Blobstore (and High Replication Datastore)将文件上传到 Google App Engine Blobstore(和 High Replication Datastore)时出现恒定的 HTTP 503 错误
【发布时间】:2012-05-27 08:37:32
【问题描述】:

我有一个将文件上传到 Google App Engine 的应用程序。在大多数计算机上上传都可以正常工作,但在一个系统上(在不同的地理位置)我们在上传文件时经常收到 HTTP 503 错误。

该应用遵循 App Engine 文档。我们首先使用 BlobstoreService.createUploadUrl 创建上传 URL,将 URL 返回给客户端,然后客户端将文件提交到该 URL。

503 错误的原因是什么以及如何解决?奇怪的是,它在该系统上不断复制,而同一个应用程序成功地从其他系统上传文件。

在下面的日志中你可以看到: 1. 上传 URL 的请求/响应的 HTTP 标头, 2.返回的上传地址 3. 对该上传 URL 的请求/响应的 HTTP 标头。

GET /upload-url HTTP/1.1
Host: cl-test-grid.appspot.com
User-Agent: Drakma/1.2.6 (SBCL 1.0.57; Darwin; 10.8.0; http://weitz.de/drakma/)
Accept: */*
Connection: close

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Vary: Accept-Encoding
Date: Sun, 27 May 2012 05:30:03 GMT
Server: Google Frontend
Cache-Control: private
Connection: close

2012-05-27 05:30:02 upload-url: http://cl-test-grid.appspot.com/_ah/upload/AMmfu6b0LpFQeYiI5sZa6KcBy9_JpIreCEjYY-FEbd3b8wPApdW3_rUIETK-geaaw_x5xq3QHhcn_wd2Pykos07xIRJTZesBIX0jkI3L4-Ri3TiOqnbS3iM/ALBNUaYAAAAAT8G-M8FF5sO4mMkXVzZX8hTcUv0OQlIK/

POST /_ah/upload/AMmfu6b0LpFQeYiI5sZa6KcBy9_JpIreCEjYY-FEbd3b8wPApdW3_rUIETK-geaaw_x5xq3QHhcn_wd2Pykos07xIRJTZesBIX0jkI3L4-Ri3TiOqnbS3iM/ALBNUaYAAAAAT8G-M8FF5sO4mMkXVzZX8hTcUv0OQlIK/ HTTP/1.1
Host: cl-test-grid.appspot.com
User-Agent: Drakma/1.2.6 (SBCL 1.0.57; Darwin; 10.8.0; http://weitz.de/drakma/)
Accept: */*
Connection: close
Content-Type: multipart/form-data; boundary=----------6mlF09BtSz1OnI06GN22cqE9jBOi8L2ozKYqrT7fQy8dDDhwk2
Content-Length: 342917

HTTP/1.1 503 Service Unavailable
Server: HTTP Upload Server Built on May 23 2012 15:51:04 (1337813464)
Date: Sun, 27 May 2012 05:30:15 GMT
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate
Content-Length: 0
Content-Type: text/html
Connection: close

【问题讨论】:

  • 你使用主/从数据库吗?我们有类似的问题:stackoverflow.com/questions/10703542/…
  • 不,我使用 High Replication 数据存储。并且错误不是偶尔发生,而是在几天内尝试 30 次后总是发生 30 次。

标签: google-app-engine blobstore


【解决方案1】:

在 blobstore 上传过程中,我们也看到了很多 503 错误。这来自客户系统以及内部系统。由于它直到最近都运行良好,并且我们没有更改任何相关代码,所以我只能假设 Google 端有问题。

我在问题跟踪器上找不到 Stefano 的报告,所以我记录了一个新问题,编号 7619:

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

如果您仍然遇到此问题,请为此加注星标,以鼓励 Google 对其进行调查并修复它或就如何检测和解决该错误提供建议。

【讨论】:

  • 是的,我们仍然有这个问题。
  • 此处链接的工单已修复,问题不再出现在我们的应用程序中。
【解决方案2】:

我的公司最近几天也遇到了类似的问题

我认为 Google 的 blobstore 服务器存在问题

根据您被重定向到的服务器,上传可能会或可能不会失败

我刚刚报告了一个生产问题

【讨论】:

  • 是的,我有同样的理论 - 遇到故障的系统只是遇到了一些故障或不一致的服务器。可能 blobstore 请求调度程序根据客户端的地理位置选择服务器。这可以解释为什么我们有些系统总是上传成功,而异地系统总是失败。
  • 你有这方面的消息吗?
  • 还没有消息。我已经报告了这个问题,但没有得到任何反馈。看起来我们的上传内容不仅在新加坡有效。使用美国或澳大利亚代理可以解决问题。很奇怪。如果 GAE 有一个适当的票务系统,那就太好了,因为它是一项付费服务​​......
  • 我的哀悼。我也发布到这张票(我的帐户 avodonosov@gmail.com),我的问题似乎已经解决。我遇到了非常相似的情况-仅在爱达荷州北部的一个系统中无法上传。 google support 认为有问题后修复(因为我使用 HRD 数据存储,他们认为 Master/Slave 是问题根源的想法无法应用,所以他们最后关注了)
  • “如果 GAE 有一个合适的票务系统就好了。”他们有售票系统!我在上一条评论中所说的票是code.google.com/p/googleappengine/issues/detail?id=7619。请注意,您可以投票给票(在本系统 Web UI 中称为“星票”)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 1970-01-01
  • 2011-03-25
  • 2019-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多