[ZODB-Dev] Random POSKeyErrors
Pedro Ferreira
jose.pedro.ferreira at cern.ch
Wed Jul 21 12:40:18 EDT 2010
> http://www.zopyx.de/blog/checking-your-zodb-storages-for-poskey-errors
>
>
Thanks a lot. Unfortunately, it seems like this script only works for 64
bit oids... which doesn't seem to be the case.
"""
Traceback (most recent call last):
File "/usr/bin/multi-zodb-check-refs", line 8, in <module>
load_entry_point('zc.zodbdgc==0.6.0', 'console_scripts',
'multi-zodb-check-refs')()
File
"/usr/lib/python2.6/site-packages/zc.zodbdgc-0.6.0-py2.6.egg/zc/zodbdgc/__init__.py",
line 558, in check_command
check(args[0], options.refdb)
File
"/usr/lib/python2.6/site-packages/zc.zodbdgc-0.6.0-py2.6.egg/zc/zodbdgc/__init__.py",
line 424, in check
return check_(config)
File
"/usr/lib/python2.6/site-packages/zc.zodbdgc-0.6.0-py2.6.egg/zc/zodbdgc/__init__.py",
line 511, in check_
print '!!!', name, u64(oid),
File
"/usr/lib/python2.6/site-packages/zc.zodbdgc-0.6.0-py2.6.egg/zc/zodbdgc/__init__.py",
line 42, in u64
return struct.unpack(">q", v)[0]
struct.error: unpack requires a string argument of length 8
"""
I've also had to change the following line:
"""
- name, oid = roots.pop()
+ name, oid = roots.popitem()
"""
Cheers,
Pedro
--
José Pedro Ferreira
Indico Team
IT-UDS-AVC
513-R-0042
CERN, Geneva, Switzerland
More information about the ZODB-Dev
mailing list