[ZODB-Dev] [fsrefs] KeyError: 'n'
Jim Fulton
jim at zope.com
Mon Feb 15 11:15:47 EST 2010
On Mon, Feb 15, 2010 at 10:41 AM, Andreas Jung <lists at zopyx.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi there,
>
> I am trying to check a Data.fs as used under Zope 2.10 for Poskey errors.
>
> Running fsrefs gives me the following:
>
> plone at diaweb06:/data/zeo_buildout$ bin/zopepy
> ./parts/zope2/utilities/ZODBTools/fsrefs.py labor.fs.kaputt
> Traceback (most recent call last):
> File "bin/zopepy", line 32, in ?
> execfile(__file__)
> File "./parts/zope2/utilities/ZODBTools/fsrefs.py", line 157, in ?
> main()
> File "./parts/zope2/utilities/ZODBTools/fsrefs.py", line 142, in main
> refs = get_refs(data)
> File "/data/zeo_buildout/parts/zope2/lib/python/ZODB/serialize.py",
> line 687, in get_refs
> data = oid_klass_loaders[reference_type](*args)
> KeyError: 'n'
The script hasn't been updated to reflect changes in the record format.
It's choking on a cross-database reference. I recommend using the
multi-zodb-check-refs script included in zc.zodbdgc package.
BTW, it has an option of creating a reverse-reference database,
which especially handy for debugging POSKeyErrors.
I should probably fold zc.zodbdgc into ZODB 3.10 and retire fsrefs.
Jim
--
Jim Fulton
More information about the ZODB-Dev
mailing list