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

Re: Repeated "unrecoverable" BDB problems (ver 1.1.3)

From: Zachary Pincus <zpincus_at_stanford.edu>
Date: 2005-07-02 01:32:28 CEST

On Jul 1, 2005, at 1:28 PM, kfogel@collab.net wrote:

> You're getting into BDB implementation details. BDB is allowed to
> store data anywhere it wants, as long as it doesn't lose it. If the
> way it guarantees things is by storing stuff in logfiles, then that's
> fine -- if you remove a logfile, that's kind of like removing a data
> file, then :-).

Let me attempt to reiterate my point about removing the logfiles. The
executive summary is that this may indicate some flaw in how BDB or SVN
deals with the log files, which, if resolved, could make SVN a lot more
reliable.

Let's look through the logic of this extraordinary claim:

First, note that when I removed the corrupt logfile, I did NOT lose any
data. This indicates that the data was safely stored in the database
somewhere. Thus, the problem appears to have been that the system crash
broke BDB or the logfile in such a way that BDB *thought* that the log
was still active, when it had really been flushed to some other part of
the database, probably hours before.

Worse, this problem made the database unrecoverable, even by db_recover
-c. Yet my data was *absolutely intact* and readable once I manually
purged the corrupt logfile. (The database itself was toast and couldn't
be written to...)

Now, this appears to suggest a weakness in how BDB and/or SVN deals
with the logging capability, doesn't it? Some piece of metadata about
whether a logfile is active or not gets a bit flipped or whatever, and
all of a sudden the entire database is irreversibly, unrecoverably
broken?

Sure, deleting a log file is a stupid last ditch idiot thing that I
tried in a panic. But the fact that it worked may indicate a flaw in
the logging procedures, and definitely one in the recovery procedures.
So try to forget how idiotic it was, and focus on what this may
indicate about db reliability issues.

Finally, note that this is now at least TWO times that I've been able
to partially fix an "unrecoverable" svn repository by removing
corrupted logfiles. Thus, I don't think this is some random,
unrepeatable fluke thing but possibly an actual issue in BDB or how SVN
and BDB interact.

Zach Pincus
Department of Biochemistry and Program in Biomedical Informatics
Stanford University School of Medicine

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Jul 2 01:36:19 2005

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