我们正在使用SVN和ubuntu 14.04以及eclipse subversion和apache。当我们提交小文件时,它工作正常。但是当我们尝试提交大文件时,会出现以下错误。 eclipse错误: 部分选定资源未提交。 部分选定资源未提交。 svn:E175002:提交失败(详情如下): svn:E175002:提交失败(详情如下): svn:E175002:无法读取HTTP状态行 svn:E175002:'/ svn / test /!svn / wrk / 953b88fa-5601-0010-8146-c3b0661fb4b6 / trunk / * / TokenManagerImpl.java'
上的PUT请求失败apache error.log
[Mon Sep 05 19:12:18.533736 2016] [dav:error] [pid 26083:tid 140002512074496] (70007)The timeout specified has expired: [client 182.75.153.50:56725] Timeout reading the body (URI: /svn/test/!svn/wrk/953b88fa-5601-0010-8146-c3b0661fb4b6/trunk/*/TokenManagerImpl.java) [408, #0]
[Mon Sep 05 19:12:18.533851 2016] [dav:error] [pid 26083:tid 140002512074496] [client 182.75.153.50:56725] mod_dav_svn close_stream: error closing write stream [500, #185004]
[Mon Sep 05 19:12:18.533876 2016] [dav:error] [pid 26083:tid 140002512074496] [client 182.75.153.50:56725] Unexpected end of svndiff input [500, #185004]
Below is apche timeout configuration (apache.conf)
Timeout 300
KeepAlive On
MaxKeepAliveRequests 250
KeepAliveTimeout 20
LimitRequestBody 0
Below is reqtimeout.conf
<IfModule reqtimeout_module>
RequestReadTimeout header=200-400,minrate=5000
RequestReadTimeout body=1000,minrate=5000
</IfModule>
答案 0 :(得分:1)
似乎无效的RequestReadTimeout
配置是根本原因。您不应该为body
设置特殊超时。
Apache Subversion将提交数据作为请求主体传输,其大小取决于提交的大小。因此,使用您当前拥有的配置,所有超过约1000秒的提交操作都将对您的用户失败。
答案 1 :(得分:0)
以防万一其他人在这里结束:
通过http
提交svn大型二进制文件~80MB。
传输文件数据。
svn:E185004:提交失败(详情如下):
svn:E185004:svndiff输入的意外结束
更改标头的apache2 reqtimeout.conf文件。
(症状是svn提交会在40秒后嘶哑...)
RequestReadTimeout header=200-400,minrate=500
为我修好了。 “你的里程可能会有所不同......”