You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by "Greg Rundlett (freephile)" <gr...@freephile.com> on 2013/10/16 17:44:49 UTC

[users@httpd] Apache drops connections to git svn; unless Timeout = 6000 seconds

Server Version: Apache/2.4.6 (Unix) SVN/1.8.3

I thought I may be witnessing this bug
https://issues.apache.org/bugzilla/show_bug.cgi?id=54365

But now the problem seems to have gone away since I set Timeout (
http://httpd.apache.org/docs/2.4/mod/core.html#timeout) to what seems like
an outlandish value (6000)

My question is ultimately what is reasonable for Timeout?  This Apache
instance is for Subversion hosting, with approximately 100 users plus any
automated processes.  To a lesser degree, my question of the git developers
is why does git-svn not occasionally send a KeepAlive request to Apache if
it knows it's still working on something?

I've been running a command (git svn fetch) to try to clone a large svn
repository into a local git repo.  Over the past week, I've seen the
connection get reset by the server [1].  The "only" thing that has changed
is that I upgraded the CollabNet Subversion Edge system.  Connections being
closed was not a problem prior to upgrading CollabNet Subversion Edge.
 After looking into it, there really aren't specific (Apache) configuration
changes that appear problematic.  CNSE bundles Apache.  The culprit seems
to be the fact that Apache was upgraded from 2.2 to 2.4

Server Settings

Server Version: Apache/2.4.6 (Unix) SVN/1.8.3
Server Built: Sep 4 2013 18:47:57
Server loaded APR Version: 1.4.8
Compiled with APR Version: 1.4.8
Server loaded APU Version: 1.5.2
Compiled with APU Version: 1.5.2
Module Magic Number: 20120211:23
Hostname/port: code.example.com:4443
Timeouts: connection: 600    keep-alive: 750  (later changed tTimout to
6000)
MPM Name: prefork
MPM Information: Max Daemons: 256 Threaded: no Forked: yes
Server Architecture: 64-bit
Server Root: /usr/local/csvn
Config File: /usr/local/csvn/data/conf/csvn_main_httpd.conf
Server Built With:
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/"
 -D SUEXEC_BIN="//bin/suexec"
 -D DEFAULT_PIDLOG="opt/CollabNet_Subversion/data/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="opt/CollabNet_Subversion/data/conf/mime.types"
 -D SERVER_CONFIG_FILE="opt/CollabNet_Subversion/data/conf/httpd.conf"



The Subversion FAQ
http://subversion.apache.org/faq.html#secure-connection-truncated suggests
changing the Timeout value (after considering the layout of your
repository).  I've tried changing the Timeout and KeepAlive settings to no
avail. [edit: changing Timeout from 60 to 600 didn't work, but setting it
to 6000 appears to work as now git svn fetch has been running for a few
days.]

I retried with a changed .subversion client configuration by setting
servers:global:http-library=serf
(I'm running the svn 1.6 client against a 1.8 server.)  But that did not
help.

It will fail repeatedly in the same spot, and then get to a different spot
where it fails.  It's almost always a binary file (.doc, .pptx) but the
files are not large.  The last one where it failed was 60,362 bytes.

This is what I see in the error log
[Fri Oct 11 12:48:15.693996 2013] [dav:error] [pid 17474] [client
192.168.11.14:40502] Provider encountered an error while streaming a REPORT
response.  [500, #0]
[Fri Oct 11 12:48:15.694045 2013] [dav:error] [pid 17474] [client
192.168.11.14:40502] A failure occurred while driving the update report
editor  [500, #70007]
[Fri Oct 11 12:48:15.694056 2013] [dav:error] [pid 17474] [client
192.168.11.14:40502] Error writing base64 data: The timeout specified has
expired  [500, #70007]


Thanks,
~ Greg

[1] RA layer request failed: REPORT of '/svn/platform/!svn/vcc/default':
Could not read response body: connection was closed by server (
http://code.benunets.com:4443) at
/home/greg/share/perl/5.14.2/Git/SVN/Ra.pm line 282