On Mon, Apr 26, 2010 at 8:48 AM, Hanno Schlichting <ha...@hannosch.eu> wrote: > Hi. > > I upgraded a ZODB 3.8 database server to 3.9 and suddenly zeopack > fails. It looks to me like it is now failing on PosKeyErrors, which > had been ignored so far. > > Is this a known problem and should be fixed? Or should I repair all > the PosKeyErrors? Tracebacks below.
Hm. I don't know if it was intentional to ignore POSKeyErrors in the old pack code. It seems like a bad idea to me. For 3.9, I simplified the pack code quite a bit. It was sometimes not clear what the old code was trying to do. The new code certainly does raise exceptions when a missing record is encountered. It seems safer to me to abandon a pack when there is a problem rather than proceeding and possibly doing more harm. Having said that, the distributed garbage collector in zc.zodbdgc doesn't chech for missing records. (It uses a fundamentally different algorithm to avoid the heavy seeking the the standard gc does and it would have to go out of its way to detect dangling references.) This discussion makes me wonder if I should update that to detect missing records. :) What do folks think about this? Should missing records be ignored? Or should the missing record cause the pack (or maybe just GC) to fail? Jim -- Jim Fulton _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org https://mail.zope.org/mailman/listinfo/zodb-dev