[ZODB-Dev] 3.2.1b1 with POSKeyError and ConflictError

Jeremy Hylton jeremy at zope.com
Fri May 16 16:49:02 EDT 2003


On Tue, 2003-05-13 at 22:40, Nicholas Henke wrote:
> I am seeing the following 'issues' from 3.1.1 to 3.1.2b1:
> 
> 1. After a pack(), I need to issue a sync() to avoid seeing
> ConflictErrors on the next transaction. The errors I see are all of the
> nature of 'oid was XXX, is now YYY''

This is surprising, because pack should not change the current revision
of any object.  If oid was XXX before pack, it should not be YYY after
the pack.  If you can help dig into this, it would be helpful to get an
fsdump of the storage before and after the pack.  Then we can examine it
manually.  I'd be interested to know if XXX was current at the pack time
and whether YYY existed before the pack.

> 2.POSKeyErrors.I ran fstest and it reported no errors. Same with
> checkbtrees. Below is the output from Tools/analyze.py. What other
> information can I provide ?

I'm not sure what you mean to report.  Are you seeing POSKeyErrors after
the new pack runs?  Did the storage has POSKeyErrors before you packed
it?  While the new pack should prevent the undo-related POSKeyError
problem, it can't fix problems in an existing storage caused by the old
pack.

Note, also, that fstest.py does not look at object references.  You'd
need to use fsrefs.py to check that.  (I'm not sure if fsrefs.py is
present in the 3.1 line, but it is in 3.2 CVS.)

Jeremy





More information about the ZODB-Dev mailing list