[ZODB-Dev] More ZODB POSKeyErrors with 2.6.0

Jeremy Hylton jeremy@zope.com (Jeremy Hylton)
Wed, 6 Nov 2002 13:14:25 -0500


>>>>> "CW" == Chris Withers <chrisw@nipltd.com> writes:

  >> It would help if you could run fsrefs.py on the real FileStorage.
  >> That would tell us if there are any dangling references in the
  >> storage, or if the problem is solely in the index.

  CW> Well, two out of the threee storages produced no output from
  CW> fsrefs.py. The last one spewed out this:

  CW> oid 0x4ab64 failed to load Traceback (most recent call last):
  CW>    File "fsrefs.py", line 67, in main
  CW>      data, serial = fs.load(oid, "")
  CW>    File
  CW>    "/usr/local/zope/2.6.0_cvs_19.09.02/lib/python/ZODB/FileStorage.py",
  CW> line 619, in load
  CW>      return self._load(oid, version, self._index, self._file)
  CW>    File
  CW>    "/usr/local/zope/2.6.0_cvs_19.09.02/lib/python/ZODB/FileStorage.py",
  CW> line 614, in _load
  CW>      return _loadBack(file, oid, pnv)[0], serial
  CW>    File
  CW>    "/usr/local/zope/2.6.0_cvs_19.09.02/lib/python/ZODB/FileStorage.py",
  CW> line 2116, in _loadBack
  CW>      raise POSKeyError(oid)
  CW> POSKeyError: 000000000004ab64

  CW> What does this mean?

I just realized that this is probably a George Bailey object.  That
is, an undo or abort version undid the object creation.  So the object
exists in the index, but is not loadable from the current state of the
database.

Jeremy