[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

timeout mysteries SOLVED! (was Re: Large Repositories)

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2003-07-14 21:10:02 CEST

"Johnson, Graham" <gjohnson@alpineaccess.com> writes:

> I have SVN 0.25.0 and a ~210MB repository installed on two different
> servers -- a Sun Ultra-250 running Solaris 8, and an AMD Athlon machine
> of unknown speed running Linux. The biggest operation I've tried so far
> in SVN, checking out a directory of ~3000 files, takes ~7 minutes on the
> Sun before the client starts listing the first files being checked out;
> on the AMD it is ~4 minutes. I have my timeout set to 600.

OK, there have been a whole lot of reports over the last month about
people getting HTTP "timeout" errors from their svn clients:

  * some people have noticed large checkouts and updates timing out,
    or sitting for minutes before files start to appear ("timed out
    waiting for REPORT response")

  * others have noticed that huge commits or imports can produce
    timeouts, especially if adding/changing many files ("timed out
    waiting for MERGE response")

Well, the mystery is solved! After hours of my being able to
intermittently reproduce the bugs (and pulling out all my remaining
hair), I finally figured out the culprit: it's gzip compression.

Specifically, apache's mod_deflate filter is *blocking* all streamy
responses from the server. For a very large checkout, update, or
commit, it's entirely reasonable that it take several minutes for the
server to generate a description; normally the repsonse is streamed to
the client, which acts on the data as it comes. But if the client
sends "Accept-Encoding: gzip", and the server has mod_deflate compiled
in, then apache's mod_deflate buffers the *entire* repsonse before
gzipping it and sending to the client.

Sure enough, if you set "http-compression = no" in the [global]
section of your client's ~/.subversion/servers file, all the timeout
problems vanish. This is the official workaround, until we fix apache.

gstein says that jerenkrantz is now going to have to fix mod_deflate. :-)

In any case: if you've been experiencing client timeouts, try this
workaround, and mail the list. I'd like to whether things start
working again.

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 14 21:12:07 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.