[ZODB-Dev] RE: finding POSKeyErrors

Tim Peters tim at zope.com
Wed Nov 10 16:54:12 EST 2004


[Gerry Kirk]
> ...
> Ok, I'll try upgrading. I'm still leery about the repeatable
> POSKeyErrors, though. I thought maybe they occurred when we had issues
> with bad memory, so I just want to clean up any such bad objects. Guess
> I'm not totally convinced there aren't 'bad' objects in the system - ZODB
> is still a black box to me.

You could study fsrefs.py.  It's not long.  Then you would see that it
actually loads the current revision of every non-versioned object in the
database, for some meaning of "actually loads".  If you're not going to
study it yourself, then there's no possible basis on which you can be
convinced that your "bad object" hypothesis has been ruled out, since
understanding what fsrefs.py does is precisely how it was ruled out.

It remains possible that you have arbitrarily bad corruption inside your
data.  For example, if you stored a large string at some point, it's
possible that every byte inside that string is corrupted.  That wouldn't
necessarily create any problems for fstest or fsrefs.  But it couldn't cause
a POSKeyError either.



More information about the ZODB-Dev mailing list