You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Conner, Shawn" <sh...@abacus-direct.com> on 2005/03/29 23:17:59 UTC

Timeout issues when commiting

Hello,
Several times when users are commiting changes, they are recieving one
of the following error message
 
svn: Commit failed (details follow):
svn: MERGE request failed on
'/svn/repos/abacus/Aba_apps/branches/xnetAFC_031805_18:00.branch/scripts
'
svn: MERGE of
'/svn/repos/abacus/Aba_apps/branches/xnetAFC_031805_18:00.branch/scripts
': timed out waiting for server (http://thabscc01
<BLOCKED::http://thabscc01> )
 
 
 
 
 
svn: Commit failed (details follow):

svn: MKCOL of
'/svn/repos/abacus/Aba_apps/!svn/wrk/f9812586-7af3-0310-8c14-907e7fc56fd
e/branches/uk_b2b_031805_19:02.branch/cmds/BAM': 405 Method Not Allowed
(http://thabscc01 <http://thabscc01/> )

 

I'm using Apache to process the requests, and authenticating against
active directory.  The repository is about 300 megs, and there are very
few branches at this time.  I have set the apache timeout to 60 minutes.
So I don't think that is where the timeout is occuring.  The repository
is on a disk local to the machine containing apache.  Any ideas?

 

Thanks

Shawn


Re: Timeout issues when commiting

Posted by Dominic Anello <da...@danky.com>.
On 2005-03-29 16:17:59 -0700, Conner, Shawn wrote:
> Hello,
> Several times when users are commiting changes, they are recieving one
> of the following error message
>  
> svn: Commit failed (details follow):
> svn: MERGE request failed on
> '/svn/repos/abacus/Aba_apps/branches/xnetAFC_031805_18:00.branch/scripts
> '
> svn: MERGE of
> '/svn/repos/abacus/Aba_apps/branches/xnetAFC_031805_18:00.branch/scripts
> ': timed out waiting for server (http://thabscc01
> <BLOCKED::http://thabscc01> )
>  
> svn: Commit failed (details follow):
> 
> svn: MKCOL of
> '/svn/repos/abacus/Aba_apps/!svn/wrk/f9812586-7af3-0310-8c14-907e7fc56fd
> e/branches/uk_b2b_031805_19:02.branch/cmds/BAM': 405 Method Not Allowed
> (http://thabscc01 <http://thabscc01/> )
 
This tends to happen when using mod_authz_svn for path auth and the user
doesn't have write access to the highest common directory in a commit.

Example:
Say a user has read-only access to /foo and write access to /foo/bar and
/foo/baz

If a user tries to file a commit that modifies /foo/bar/a.txt and
/foo/baz/b.txt, svn ends up doing a MERGE on /foo.  Since MERGE is a
write operation, authz will reject the operation and the commit will
fail.  

The solution I employed was to exclude MERGE requests from validation.
Note that this opens your server to maliciously crafted MERGE requests.
Since our server runs on an intranet only, I'm not too worried about it,
but there is probably a better work around.

Anyway, try putting a <LimitExcept MERGE> around Require valid-user in
your httpd.conf and see if that helps.

Here's what I use:
<Location /ec-svn>
  DAV svn
  SVNPath "/usr/local/svn/ec-svn/repo"
  AuthzSVNAccessFile "/usr/local/svn/ec-svn/auth/access.ini"

  ## AuthLDAP stuff omitted

  <LimitExcept MERGE>
    Require valid-user
  </LimitExcept>
</Location>
 
-- 
If you've got a vision, then I don't want to see
If you've got a notion -- don't waste it on me