[ZODB-Dev] More exciting ZODB errors ;-)
Dieter Maurer
dieter at handshake.de
Thu Dec 15 11:51:31 EST 2005
Chris Withers wrote at 2005-12-14 16:23 +0000:
> ...
> File "lib/python/ZODB/Connection.py", line
>788, in _setstate_noncurrent
> assert end is not None
>AssertionError
This means that the latest modification for this object
lies before the respective transaction.
In this case, we should not have an invalidation for the object,
such that we would not call "_setstate_current".
I expect a missing "flush_invalidations" during "Connection._setDB".
I had to add such a call in our ZODB version:
def _setDB(self, odb, mvcc=None, txn_mgr=DEPRECATED_ARGUMENT,
transaction_manager=None, synch=None):
....
self.transaction_manager = transaction_manager or transaction.manager
# DM 2005-08-22: always call '_flush_invalidations' as it does
# more than cache handling only
self._flush_invalidations()
if self._reset_counter != global_reset_counter:
# New code is in place. Start a new cache.
self._resetCache()
# DM 2005-08-22: always call '_flush_invalidations'
## else:
## self._flush_invalidations()
--
Dieter
More information about the ZODB-Dev
mailing list