Trent Fisher <trent.fisher_at_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_at_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*
Received on 2014-09-18 13:15:09 CEST