Looking at the current (not Jims new) pack algorithm to optimize the reachability analysis, I recognized a behaviour that looks like a potential data loss through packing.
The potential data loss can occur when an object unreachable at pack time becomes reachable again after pack time. The current pack supports a single use case which can cause such an object resurrection: the use of backpointers (probably from "undo"). However, resurrection is possible by other means as well -- e.g. by reinstating a historical version which references objects meanwhile deleted. Packing can cause such objects to get lost (resulting in POSKeyErrors). Reinstating a historical version which references to meanwhile deleted objects is probably quite a rare situation such that the potential data loss seems not to be very critical. But, potential data loss is nasty, even when the probablity is quite low. -- Dieter _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev