Chris Withers escribiĆ³:

    data = oid_klass_loaders[reference_type](*args)
KeyError: 'n'

I'm guessing this isn't good ;-) What does that KeyError mean?

What would be the suggested way of proceeding?

That happened to me once. It was a plone site, with two ZODB's, one mounted on top of another. I had an archetype content type that had a FileField, but I had forgotten to set 'NonEmptyFile' as validator for the field, and some default object (I think it was an empty list []) was being set for all content objects with no file attached. The same empty list for all content objects. I moved some of those objects from one ZODB to the other, and then, when trying to pack, I would have that error. The reference type 'n' is (from ZODB/serialize.py):

    'n'
        Multi-database simple object reference.  The arguments consist
        of a databaase name, and an object id.

the empty list was referenced from multiple databases.

there is some discussion about this issue here:

http://www.nabble.com/Missing-loader-for-multidatabase-refs--tt9744503.html#a9744503

What I did was to walk through all objects in the database removing the empty files, and then packing was possible.

Hope that helps.


--
Enrique PĆ©rez Arnaud
Yaco Sistemas S.L.

_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to