Fisheye repository indexing paused due to svn: E175002: Connection reset
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
A repository is paused while executing a particular command, for example
1
svn diff --summarize xxx:yyy
This operation is retried but always times out and paused at the same changeset, while expanding paths for that revision.
Environment
Fisheye/Crucible 4.8.7
Repository is SVN and it is accessed with the http(s) protocol
Indexed using the bundled SVNKit 1.10
Diagnosis
There is no reverse proxy in front of Fisheye.
Fisheye is using the built-in SVNKit, instead of an external Native JavaHL Subversion Client.
The following appears in the atlassian-fisheye.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
date WARN [IncrPing2 REPOSITORY ] fisheye BaseRepositoryScanner-handleSlurpException - Problem processing revisions from repository REPOSITORY (REPOSITORY) due to class com.cenqua.fisheye.rep.RepositoryClientException - org.apache.subversion.javahl.ClientException: svn: E175002: Connection reset
svn: E175002: PROPFIND request failed on '/path/to/repository
...
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210) [?:1.8.0_252]
at java.net.SocketInputStream.read(SocketInputStream.java:141) [?:1.8.0_252]
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) [?:1.8.0_252]
at sun.security.ssl.InputRecord.read(InputRecord.java:503) [?:1.8.0_252]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:990) [?:1.8.0_252]
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1388) [?:1.8.0_252]
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1416) [?:1.8.0_252]
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1400) [?:1.8.0_252]
at org.tmatesoft.svn.core.internal.util.SVNSocketFactory.createSSLSocket(SVNSocketFactory.java:96) [svnkit-1.10.1.jar:?]
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.connect(HTTPConnection.java:237) [svnkit-1.10.1.jar:?]
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:415) [svnkit-1.10.1.jar:?]
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:352) [svnkit-1.10.1.jar:?]
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:340) [svnkit-1.10.1.jar:?]
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:910) [svnkit-1.10.1.jar:?]
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doPropfind(DAVConnection.java:146) [svnkit-1.10.1.jar:?]
at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.getProperties(DAVUtil.java:71) [svnkit-1.10.1.jar:?]
at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.getResourceProperties(DAVUtil.java:77) [svnkit-1.10.1.jar:?]
at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.getStartingProperties(DAVUtil.java:101) [svnkit-1.10.1.jar:?]
at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.findStartingProperties(DAVUtil.java:123) [svnkit-1.10.1.jar:?]
... 24 more
Cause
The request processing is taking a long time and the server is closing the connection.
Solution
HTTP spooling helps to prevent issues with request processing taking a long time and the server closing the connection.
An option was added to SVNKit 1.8.8 to address this: https://svn.svnkit.com/repos/svnkit/trunk/CHANGES.txt
To resolve the issue:
Add the
-Dsvnkit.http.spoolDirectory=<path_to_a_temporary_folder>
in the FISHEYE_OPTS (see Environment variables for reference).
Restart Fisheye/Crucible
ℹ️ We have a feature request to enable spooling from the UI FE-7358 - As a user I would like a feature in the UI to enable spooling or a default option.
Was this helpful?