为什么GAE回购会挂起?

时间:2014-11-05 07:39:56

标签: git google-app-engine google-compute-engine

我的GCE git repo工作正常,然后我尝试使用appcfg.py update,但由于文件太多(未检入git的文件)而失败。

当我再次推送git时,它会挂起,然后说RPC调用失败。输出在这里:

Pushing to https://source.developers.google.com/p/my-project-name/
Counting objects: 660, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (595/595), done.
POST git-receive-pack (chunked)
Writing objects: 100% (660/660), 1.30 MiB | 650.00 KiB/s, done.
Total 660 (delta 96), reused 10 (delta 3)
error: RPC failed; result=22, HTTP code = 502
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

更新

输出现在说RPC失败略有不同:

Pushing to https://source.developers.google.com/p/<redacted>/
Counting objects: 660, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (595/595), done.
POST git-receive-pack (chunked)
Writing objects: 100% (660/660), 1.30 MiB | 934.00 KiB/s, done.
Total 660 (delta 96), reused 10 (delta 3)
Unable to rewind rpc post data - try increasing http.postBuffer
error: RPC failed; result=56, HTTP code = 0
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

2 个答案:

答案 0 :(得分:1)

正如this other question中所解释的那样,问题是因为文件的大小(或总大小)大于预期并产生错误。

在GAE中,最多可以上传10,000个文件到您的应用程序。这似乎不是原因,除非你已经有了9601。

您可以按照the other question中的说明操作并尝试增加http.postBuffer的大小:

  

我发现问题可能是文件很大。我有一个更新   即使我成功推动了这一点,也不会推动   点。提交中只有一个文件,但它恰好是   1.6M

     

所以我添加了以下配置更改

     

git config http.postBuffer 524288000

答案 1 :(得分:0)

增加http后缓冲区大小解决了我的问题。

要解决此问题,您必须从您尝试提交的位置转到git cloned文件夹的路径,然后执行以下命令。

git config http.postBuffer 324244000