在svn上提交大文件时出现超时错误

问题描述 投票:-1回答:2

我们正在使用SVN和ubuntu 14.04以及eclipse subversion和apache。当我们提交小文件时,它工作正常。但是当我们尝试提交大文件时,会出现以下错误。 eclipse错误:某些选定的资源未提交。部分选定资源未提交。 svn:E175002:提交失败(详情如下):svn:E175002:提交失败(详情如下):svn:E175002:无法读取HTTP状态行svn:E175002:PUT请求失败'/ svn / test /!svn / wrk /953b88fa-5601-0010-8146-c3b0661fb4b6/trunk/*/TokenManagerImpl.java”

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>
eclipse apache svn
2个回答
1
投票

似乎无效的RequestReadTimeout配置是根本原因。你不应该为body设置一个特殊的超时。

Apache Subversion将提交数据作为请求体传输,其大小取决于提交的大小。因此,使用您当前具有的配置,所有超过约1000秒的提交操作都将失败。


0
投票

以防其他人在这里结束:

svn通过http提交

大二进制文件~80MB。

传输文件数据。

svn:E185004:提交失败(详情如下):

svn:E185004:svndiff输入的意外结束

同时更改标头的apache2 reqtimeout.conf文件。

(症状是svn提交会在40秒后嘶哑...)

    RequestReadTimeout header=200-400,minrate=500

为我修好了。 “你的旅费可能会改变...”

© www.soinside.com 2019 - 2024. All rights reserved.