Trent Fisher <trent.fis...@oracle.com> writes:

> I have an svnsync replica which is running into this error when I
> sync: "svnsync: E210008: Error while replaying commit".
>
> I was able to work around the problem by doing an svnadmin dump of the
> troublesome revision and loading it on the other server, then tweaking
> the svnsync properties.  However, I decided to spend a bit of time
> trying to dig down to the root cause (since this error pops up
> periodically).
>
> I am doing the svnsync via an svn+ssh url, doing the svnsync as a
> pull, and I am running as the owner of the repository (on both hosts),
> so there should be no permissions issues.  Both machines are running
> SVN 1.8.9 on Linux.  To narrow it down to whether the problem is on
> the sending or the receiving side (the error message implies the
> latter), I ran svnrdump:
>
> svnrdump dump --incremental -r511 svn+ssh://scmadm@somehost/some/svn/repos
> svnrdump: E210008: Error while replaying commit
>
> Ok, so I narrowed it down to being on the sending side. I ran svnrdump
> on the server itself using a file: url, and that worked. Then I
> brought up an svnserve process and tried using an svn: url, and that
> worked.  So it seems that SSH is getting in the way somehow.  I ran
> the first svnrdump with "--config-option config:tunnels:ssh='$SVN_SSH
> ssh -vvv'" but couldn't see anything wrong from what I could decipher.
>
> I need to move on to other tasks for now, but I was hoping that
> someone may have some insights as to what might be going wrong here,
> or at least some pointers as to what to try next.  It would be awfully
> helpful if the error message actually said what was wrong and there
> were a way to get more verbose/debugging output from svnsync and
> svnrdump.

E210008 is SVN_ERR_RA_SVN_EDIT_ABORTED.  Not sure how best to debug
that, the cleartext across the tunnel would be interesting but using
some sort on non-encrypting tunnel might make the problem go away.

It's possible that svnserve logging will show something of use.  I don't
know of any simple way to enable logging over svn+ssh but you can force
it as follows:

 - create a script on the server containing:

  #!/bin/sh
  /path/to/svnserve --log-file /path/to/log-file -t

 - cause svnrdump to invoke the script instead of svnserve:

  svnrdump dump --incremental -r511 \
   svn+ssh://server/some/svn/repos \
   --config-option config:tunnels:foo='ssh -q scmadm@somehost /path/to/script'

(The hostname in the URL is a placeholder, the tunnel defines which
server to use.)

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Reply via email to