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 )