[Zope] POSKeyError nightmare

Kevin Carlson khcarlso at bellsouth.net
Mon Oct 10 18:37:05 EDT 2005


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.
>
>  
>



More information about the Zope mailing list