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

Re: [PATCH] Issue #1074: Need a svnadmin command to verify that the repository is not corrupted (Take 2)

From: John Szakmeister <john_at_szakmeister.net>
Date: 2003-08-06 00:50:48 CEST

On Tuesday 05 August 2003 11:26, cmpilato@collab.net wrote:
> John Szakmeister <john@szakmeister.net> writes:
> > How do I get 'next-key' value from the repo then? I mean, right now I'm
> > building a cursor into the repo, and close it when I'm done iterating.
> > Or, are you saying I should create a function to get called by
> > retry_txn() that will take a current key and return the next-key?
> > Perhaps a NULL value for the current key will mean to grab the first key
> > and return it?
>
> We store a row in the table whose key is "next-key" (or the symbol
> svn_fs_next_key_key). So, you might need a new function down in
> bdb/reps-table.c, perhaps svn_fs_bdb__rep_next_key(), to fetch the
> value of this key.
Sounds fair.

[snip]

> > Sounds easy enough. :-) Although, while we're talking about some of
> > the pros and cons over one method versus another, I have a slight
> > issue with something. For me, I'd like to know that when I type
> > 'svnadmin verify' that everything checks out okay. If we only walks
> > the reps table and check checksums, all we are doing is verifying
> > that the data for a file is correct. Technically, there could be a
> > problem in the node representation and you won't have a clue until
> > you do an 'svnadmin dump' or try to access that particular node
> > revision.
>
> HahaHAHAha. I don't know *how many* times I've started to type this
> same concern to you, but didn't.
>
> See, the original issue report complains that a repository admin won't
> know about brokenness in his repository until running svnadmin dump.
> So, the reaction was to say, "Oh, we need 'svnadmin verify', and it
> should verify checksums." But my respose to that (which I apologize
> for not airing sooner) was that if you're going to write a subcommand
> specifically about verifying the data in your repos, it really should
> check everything, not just file contents. But here's the thing --
> 'svnadmin dump' already effectively does this, so why write another
> subcommand?

That's pretty much what I thought. Actually, we have 3 svn repositories at my
place of business now, and I perform a hot-backup and a dump of the
repository every night... I'm not sure I would alter the script to perform
the 'svnadmin verify' command the way we've done it thus far.

[snip]

> I dunno, dude. I'm tempted to recommend that we not add the code
> clutter of this extra verification step. My gut instinct is: if we're
> writing whole new codepaths just to answer the "Would my dump fail?"
> question, and those codepaths are gonna take every bit as long to run
> as just running 'svnadmin dump', we're wasting our time and effort.

I tend to agree. If we aren't going to get much out of this, or we can't say
without a doubt that an 'svnadmin dump' would fail, then I have hard time
accepting that we should put this code in. It's more to maintain with little
payoff.

Perhaps the best thing to do is recommend that people run 'svnadmin dump'
every once in a while to make sure nothing has been corrupted.

-John

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Aug 6 00:50:00 2003

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.