[ZODB-Dev] Random POSKeyErrors

Pedro Ferreira jose.pedro.ferreira at cern.ch
Thu Jul 22 09:29:12 EDT 2010


Hello,
>> Thanks a lot. Unfortunately, it seems like this script only works for 64
>> bit oids... which doesn't seem to be the case.
>>
>>      
> huh?
>
> works for us for a simple Zope 2.10 setup (Plone 3.1)
>    

Sorry, I guess it had nothing to do with the nature of the oids... I 
guess it was due to the popitem() change that I mentioned. I've undone 
it, as the problem seems to be somewhere else.

There is something weird going on, as the script immediately finishes 
right after i start it.

Before the `while` loop (inside check_()) starts, the value of roots is:

{'1': {'\x00\x00\x00\x00\x00\x00': <BTrees.fsBTree.fsTreeSet object at 
0x85061dc>}}

then, inside the `try` block within the `while` loop:

"""
name=1 oid='\x00\x00\x00\x00\x00\x00\x00\x00' 
p='(cpersistent.mapping\nPersistentMapping\nq\x01Nt.}q\x02U\x04dataq\x03}q\x04s.' 
tid='\x03\x87\xa9\x8cT\xcb\\\x00'
"""

getrefs returns an empty for this particular oid.

The strange thing is that the DB is 12GB large.

Cheers,

Pedro

-- 
José Pedro Ferreira

Indico Team

IT-UDS-AVC

513-R-0042
CERN, Geneva, Switzerland



More information about the ZODB-Dev mailing list