[ZCM] [ZC] 1971/ 2 Comment "Couldn't load state for 0x013872b7 / AssertionError"

Collector: Zope Bugs, Features, and Patches ... zope-coders-admin at zope.org
Thu Dec 15 14:59:42 EST 2005


Issue #1971 Update (Comment) "Couldn't load state for 0x013872b7 / AssertionError"
 Status Pending, Database/bug medium
To followup, visit:
  http://www.zope.org/Collectors/Zope/1971

==============================================================
= Comment - Entry #2 by tim_one on Dec 15, 2005 2:59 pm

More info from Dieter Maurer, at

http://mail.zope.org/pipermail/zodb-dev/2005-December/009623.html

"""
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()

"""

________________________________________
= Request - Entry #1 by chrisw on Dec 15, 2005 11:58 am

Same circumstances as #1970, but different error:

10:05 - Couldn't load state for 0x013872b7:
Traceback (most recent call last):
  File "lib/python/ZODB/Connection.py", line
704, in setstate
    self._setstate(obj)
  File "lib/python/ZODB/Connection.py", line
757, in _setstate
    self._load_before_or_conflict(obj)
  File "lib/python/ZODB/Connection.py", line
765, in _load_before_or_conflict
    if not (self._mvcc and self._setstate_noncurrent(obj)):
  File "lib/python/ZODB/Connection.py", line
788, in _setstate_noncurrent
    assert end is not None
AssertionError

==============================================================



More information about the Zope-Collector-Monitor mailing list