我有一个Jenkins v2.107.2实例(作为Windows服务运行),它正在通过Subversion从Visual SVN服务器(在单独的Windows PC上)签出多个项目。
其中一个项目(最大-〜2.7GB)偶尔会出现,但是随后在尝试结帐时始终失败并显示以下错误:
ERROR: Failed to check out https://example.com/myrepo
org.tmatesoft.svn.core.SVNException: svn: E175002: CRLF expected at end of chunk: -1/-1
svn: E175002: REPORT request failed on '/svn/REPO/!svn/vcc/default'
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:112)
此外,在检查Visual SVN服务器的日志时,可以看到以下内容:
Error writing base64 data: The timeout specified has expired [500, #70007]
A failure occurred while driving the update report editor [500, #70007]
Provider encountered an error while streaming a REPORT response. [500, #0]
以前,通过将一个版本的Jenkins和Subversion插件降级的某种组合解决了此错误,但尽管此后未进行任何更改,但这不再起作用。
从网上看,Subversion似乎内置了某种超时功能,如果超时,请求将被终止。但是,所有说明均引用应位于%APPDATA%\ Roaming中的Subversion配置,我似乎没有。
Jenkins Subversion documentation建议C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming
,但我在那儿一无所有。我已经安装了TortoiseSVN,它确实创建了Subversion配置文件夹。我已经修改了http-timeout
,然后将此配置放置在文档建议的所有位置,但这并没有什么区别(但是是否是因为它不能解决问题,还是没有得到解决-我不确定)。
增加SVN服务器中的超时设置的值(Apache全局级别设置)。