1

I have a problem with our subversion server. Doing small commits works fine, but as soon as someone tried to commit a large collection sizeable files the commit stalls halfway through and the client finally time out. My test set consists of roughly 2000 files and the total size of the commit is about 1 GB. When I commit the files the file uploading starts but about halfway through the transfer rate drops to 0kb/s and the commit just stalls and never recovers. If I splitting the commit into smaller pieces (<150 Mb) everything works just fine, but that breaks the atomicity of the commit structure and is something I really want to avoid.

When I look at the logs generate by Apache there is no error messages.

When I bumped the loglevel from debug to trace6 on the Apache server, there is some errors appearing at the moment when the upload stalls:

...
OpenSSL: I/O error, 2229 bytes expected to read on BIO
OpenSSL: read 1460/2229 bytes from BIO
...

Versions used:

We are running the connection to the subversion via apache, mod_dav, mod_dav_svn, mod_authz_svn and mod_auth_digest. The client connects via https.

Server:

  • OpenSuse 42.3
  • svnserve: 1.9.7
  • Apache: 2.4.23

Client:

  • Windows 10 enterprise
  • svn client: 1.10.0-dev.

What I tried so far:

I have tried increasing the TimeOut value in the apache configuration. The only difference is that the client ends up in stalled mode longer before posting the timeout message.

I have tried increasing the MaxKeepAliveRequests from 100 to 1000. No change.

I have tried adding SVNAllowBulkUpdates Prefer to the svn settings. No change.

Have anyone got any hints on how to debug these types of errors?

Yeti
  • 1,108
  • 19
  • 28
Björn Blissing
  • 388
  • 1
  • 8
  • I don't know how svn handle an ongoing commit server side (in memory or on disk), but could you check your memory and cpu usage on the server during your testcase? Another option would be do attach to the apache process on the server using strace or ltrace. Maybe you can see something in there. – Yeti May 31 '18 at 16:29
  • I tried uploading the files to server file system and then making the commit directly to the SVN server, thus bypassing Apache/SSL. Commiting directly works fine, which points to the problem being most likely a Apache/SSL error. So I guess I have to use some form of SSL debugging tool. – Björn Blissing Jun 11 '18 at 14:08

0 Answers0