You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Trent Fisher <tr...@oracle.com> on 2014/09/15 23:39:58 UTC
Error while replaying commit
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.
++thanks,
trent...
Re: Error while replaying commit
Posted by Philip Martin <ph...@wandisco.com>.
Trent Fisher <tr...@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*