Dieter,

I'm not sure I understand what you mean by fixing them all as shown above. You mention loading the object from the ZODB and deleting the broken references, but I'm not sure how to do that. I have looked around for info on loading objects by oid but cannot find anything helpful. Can you help me out?

Thanks,

Kevin

Dieter Maurer wrote:

Kevin Carlson wrote at 2005-9-24 22:28 -0400:
...
File "/opt/Zope-2.7/lib/python/Products/ZCatalog/Lazy.py", line 138, in __init__
  else: self._len = len(seq)
File "/opt/Zope-2.7/lib/python/ZODB/Connection.py", line 559, in setstate
  p, serial = self._storage.load(oid, self._version)
File "/opt/Zope-2.7/lib/python/ZODB/FileStorage.py", line 689, in load
  return self._load(oid, version, self._index, self._file)
File "/opt/Zope-2.7/lib/python/ZODB/FileStorage.py", line 657, in _load
  raise POSKeyError(oid)
ZODB.POSException.POSKeyError: 00000000000e5fec

Your catalog contains the missing object

oid 0x25506L BTrees.OOBTree.OOBucket
last updated: 2005-09-19 10:00:59.079910, tid=0x3601B18FC130433L
refers to invalid objects:
      oid 0xE5FEBL missing: 'Products.CMFDefault.File.File'
      oid 0xE5FECL missing: 'BTrees.OOBTree.OOBucket'

The second is the one shown in your traceback above.

This means: the "OOBucket" with oid "0x25506" contains
two broken references.

Load it from the ZODB. Determine which keys belong to
the broken references and delete these keys.

...
All of the objects that are causing the POSKeyError I believe to be coming from a single instance of a very large BTreeFolder2 instance. Can anyone offer any remedy to remove or repair the offending objects?

You can fix them all as shown above.

While the "POSKeyError"s will go away, you have (of course)
lost information.


_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to