[Zope-dev] Broken Objects in BtreeFolder

Patrick Gerken do3ccqrv at googlemail.com
Mon Aug 10 09:44:46 EDT 2009


Hi,

we had all kinds of funny behaviour that all was rooted in a bad
object in a BTreeFolder.
When calling folder.objectIds() I get the id of the object in
question, when I call folder[object_id] I get a Key Error.
Stepping into the code with the debugger, it looked like the Tree
stores the objects in a dict grouped by type.
I found out, that the objects in question all were of a type that is
not available in the portal, and should not.
So I added the product with the code for the type and restarted, but I
still could not access the objects in question.

The object can not be deleted.
I managed to solve the worst problem, by creating a new object in that
folder with the same id. Now only this
new object can be reached, but the old object is still there, cause
the object count, shown in the zmi, increased by one. Also,
deleting this new object with the same id brings back the old object
with the same id.

I am out of ideas how to clean up the database. I also don't know how
this happened in the first place. Therefore
I can not provide a description of how to reproduce the problem. I am
more interested atm how to clean up the
screwed up zodb.

How can I really get rid of the object?

Best regards,

       Patrick


More information about the Zope-Dev mailing list