1

尝试将项目克隆到我的工作区后,我收到以下错误:

Cloning into '<MyProjectName>'...
error: RPC failed; result=22, HTTP code = 500
fatal: The remote end hung up unexpectedly

我正在使用 RhodeCode 前端来管理我们的代码存储库。我无法直接访问运行 RhodeCode 的服务器,但我正在努力查看错误日志。如果可以的话,我将使用错误日志信息进行更新。

我已经阅读了几篇文章,这些文章表明此错误可能是由我尝试克隆的存储库的大小引起的。我能够成功克隆一个大小为 139.2MB 的项目。克隆操作失败的项目大小为 199MB。

有没有人认为我的项目规模导致了我看到的错误?

当我执行克隆操作时,我确实让管理员查看了服务器内存使用情况(他监控了运行 RhodeCode 的服务器),他告诉我系统内存使用不是问题。

目前不知道如何进行。感谢您的任何建议!

RhodeCode 版本:2.2.4 Git 版本:1.8.4

编辑附加信息:

我能够(最终)进入包含 RhodeCode 安装的服务器。我想查找错误日志,但不知道在哪里查找。这就是我所看到的:

  • C:/程序文件/RhodeCode

  • C:/Git

  • C:/GitStack

  • C:/rhodecode-224

    如您所知,我们在 Windows Server 上运行。我不确定 Git 和 GitStack 之间有什么区别。我假设 rhodecode-224 是一个安装包。

2016 年 8 月 22 日编辑:我能够学习如何查看 RhodeCode 服务器的输出,并收集了以下信息...

2016-08-22 11:26:56.733 ERROR [waitress] Exception when serving /<MyProjectName>/git-upload-pack

Traceback (most recent call last):
  File "C:\Program Files (x86)\RhodeCode Enterprise\system\Lib\site-packages\waitress\channel.py", line 332, in service task.service()
  File "C:\Program Files (x86)\RhodeCode Enterprise\system\Lib\site-packages\waitress\task.py", line 173, in service self.execute()
  File "C:\Program Files (x86)\RhodeCode Enterprise\system\Lib\site-packages\waitress\task.py", line 388, in execute app_iter = self.channel.server.application(env, start_response)
  File "C:\Program Files (x86)\RhodeCode Enterprise\system\Lib\site-packages\paste\gzipper.py", line 40, in __call__ response.finish_response(app_iter)
  File "C:\Program Files (x86)\RhodeCode Enterprise\system\Lib\site-packages\paste\gzipper.py", line 85, in finish_response output.write(s)
  File "C:\Python27\lib\gzip.py", line 236, in write self.fileobj.write( self.compress.compress(data) )

  MemoryError: out of memory

所以,现在,至少我知道我正在处理某种类型的空间限制。

我检查了在克隆操作失败期间运行我们的 RhodeCode 安装的服务器。服务器有 8G 内存。在克隆操作期间,我总是看到 3Gig 的空间可用。

我们在“production.ini”文件中尝试了以下修改:

## WAITRESS ##
use = egg:waitress#main
## number of worker threads
threads = 5
## MAX BODY SIZE 100GB = 107374182400  200GB = 214748364800
max_request_body_size =  214748364800 
## use poll instead of select, fixes fd limits, may not work on old
## windows systems.
#asyncore_use_poll = True
## COMMON ##
host = 0.0.0.0
port = 5000

我们将 MaxRequestBodySize 增加了一倍,希望这会有所作为,但事实并非如此。

是否有其他特定于 RhodeCode 服务器的大小限制?在克隆操作期间我还可以查看或修改任何其他内容吗?

我们正在研究升级到 3.8 版需要什么,但我想提一下我们发现和尝试的内容。

谢谢你。

4

1 回答 1

0

RhodeCode 的 Dmitry 来了!升级到 RhodeCode 4.3(目前的最新版本)可能会解决这个问题,因为我们在过去两年中引入了许多性能改进。

RhodeCode CE是免费和开源的。缺点是 4.3 不支持开箱即用的 Windows,因此您可能需要进行全新安装并将其配置为作为虚拟机运行。

RhodeCode EE是按用户许可的,但是它已经预先配置了 VM 映像以在 Windows 上运行。你也会得到相当大的性能提升。

于 2016-08-15T08:32:46.243 回答