[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Recovering from DB corruption: advice requested

From: Ryan Schmidt <subversion-2007b_at_ryandesign.com>
Date: 2007-04-18 21:57:46 CEST

On Apr 18, 2007, at 14:46, Steve Midgley wrote:

> You are correct that the svnadmin dump command is failing for the
> entire repository. Here's the error message that the ISP provided
> to me:
> # svnadmin dump repo | bzip2 > repo.dump
> * Dumped revision 0.
> <snip revision 1 through 161>
> * Dumped revision 162.
> svnadmin: Decompression of svndiff data failed

Ok, so revision 163 is corrupted in some way.

> Now, I don't even know positively that this is a BDB database b/c I
> can't get my hands on it (yet). Working on that. I believe the ISP
> has tried a recovery using "svnadmin recover" but I'm not sure why
> it didn't work. It's possible they are stored in FSFS format and
> they haven't communicated that clearly to me..

When you do get your hands on the repository files themselves, you
can check the contents of the file db/fs-type to see what kind of
repository it is.

> Here's my follow up question. Let's take the following example:
> Revision 1-44: intact
> Revision 44-82: corrupt (can't be dumped)
> Revision 83-200: intact

The example is flawed because you need to understand that a revision
is stored as a diff against some previous revision whose number is
computed using the skip-deltas algorithm. So what's likely the case
is that revision 163 is corrupted, and therefore any subsequent
revision that depends on revision 163 is also corrupted. It will
probably not be a range of revisions that is corrupted, but just a
single one here, and then single ones later on.

> Will "svnadmin dump [path] -r NX:NY" allow me to dump Revisions
> 1-44 and Revisions 83-200 and then "svnadmin load" these two files
> sequentially?
> I'm concerned that the second file (rev 83-200) will fail when I
> try to load it. The doc's are not clear about this (as best as I
> could tell). Of course, as soon as I get a copy of my binary
> repository I can try it myself, but I'm trying to educate myself as
> much as possible now, and I appreciate the advice as to the best
> path out of this mess.

It should work. Your revisions will be renumbered, however, so any
log messages you had which referenced revision numbers will no longer
be accurate. Same with any svn:externals definitions you had to
revisions of this repository.

To reply to the mailing list, please use your mailer's Reply To All  
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Apr 18 21:58:15 2007

This is an archived mail posted to the Subversion Users mailing list.