Chris Withers wrote at 2007-3-16 08:45 +0000:
>Is there any way an object could be invalidated without there being a
>non-current revision to read?
Sure (through a call to "ZODB.DB.DB.invalidate"), although usually
it is done only after the object changed.
We are using it to cause objects to be flushed from all
ZODB connection caches (because we know that their "_v_" might
contain an inconsistent state).
Fortunately, we did not yet met the "loadBefore" problem you have hit.
>What are the possible causes of invalidation?
A change of the object or some explicit call for invalidation.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org