[ZODB-Dev] KeyError in BTrees.check

Hanno Schlichting hanno at hannosch.eu
Tue Jul 13 05:42:20 EDT 2010


On Tue, Jul 13, 2010 at 11:23 AM, Suresh V. <suresh_vv at yahoo.com> wrote:
> While trying to run manage_cleanup on my BTreeFolder2, I get a KeyError
> from the classify function in Module BTrees.check:
>
> def classify(obj):
>     return _type2kind[type(obj)]
>
> I see that obj is None at this point.
>
> Anyway I can patch the code to run around this?

This should be solved in BTreeFolder2 I guess. It shouldn't pass in
something that is None into the lower level function.

But I thought the manage_cleanup methods where only used years ago,
while BTree's had some internal book keeping problems. Do you still
get BTree corruption in any recent ZODB3 / Zope 2 combination? The
cleanup code is from six years back before BTreeFolder2 was even part
of a Zope2 release, I was close to removing it the other day.

Hanno


More information about the ZODB-Dev mailing list