Is there a 2 GB file size limit in Subversion - Apache? 413 Request Entity Too Large -- Solution

162 views
Skip to first unread message

Curley, John

unread,
Jan 11, 2011, 1:03:46 AM1/11/11
to us...@subversion.apache.org
Hi all,

FYI.

There seems to be a 2 GB file size limit, if you use the default command to commit. We encountered this problem and eventually found the solution.

This is not a Subversion limit, nor is it an Apache limit.

The default module for accessing the repository is ra_neon. This module (!) has the 2 GB limit. If you specify using ra_serf (serf) instead, that works.

This is the command line option (from the client): --config-option servers:global:http-library=serf

I don't know how to do this in a GUI situation. It took me a LONG time to find this on the web.

Happy new year, now that I finally found the fix!
John

---
"Living on Earth may be expensive, but it includes an annual free trip around the Sun."
~author unknown

kmr...@rockwellcollins.com

unread,
Jan 11, 2011, 9:55:07 AM1/11/11
to Curley, John, us...@subversion.apache.org
"Curley, John" <John....@windriver.com> wrote on 01/11/2011 12:03:46 AM:
> There seems to be a 2 GB file size limit, if you use the default
> command to commit. We encountered this problem and eventually found
> the solution.
>
> This is not a Subversion limit, nor is it an Apache limit.

I believe this is only a limit on windows platforms.  The ra_neon
layer appears to be sending a negative size value in the http header.
Possibly a missing cast in the code.  I never was able to debug
it further.  As you found, using ra_serf (or using ra_neon on most
unix platforms) should work fine.  I've seen 20GB+ commits work.

(It appears the actual limit is the size of the compressed delta of
an individual file needs to be less than 2GB.)

> The default module for accessing the repository is ra_neon. This
> module (!) has the 2 GB limit. If you specify using ra_serf (serf)
> instead, that works.
>
> This is the command line option (from the client):  --config-option
> servers:global:http-library=serf
>
> I don't know how to do this in a GUI situation. It took me a LONG
> time to find this on the web.

You can configure the servers file to specify the use of ra_neon:
(This would actually default all clients to use serf)

http-library=serf


Kevin R.
Reply all
Reply to author
Forward
0 new messages