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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在svn上提交大文件时出现超时错误相关的知识,希望对你有一定的参考价值。

我们正在使用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>
答案

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

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

另一答案

以防其他人在这里结束:

svn通过http提交

大二进制文件~80MB。

传输文件数据。

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

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

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

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

    RequestReadTimeout header=200-400,minrate=500

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

以上是关于在svn上提交大文件时出现超时错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试从分支合并时出现 SVN 错误

svn 提交时出现禁止访问,求解答

win10系统在安装卸载SVN时出现2502错误代码的问题

在片段java类中使用“this”和getLastSignedInAccount时出现错误[重复]

使用 Nodemailer 从 Zohomail 发送邮件时出现连接超时错误

在从 blob 存储中获取文件并传递给模型进行预测时出现 azure aci webservice 的超时错误