[ZODB-Dev] Recursion Error with ape and ZCatalog

Klaus Woelfel k.woelfel at gmx.de
Thu Apr 8 18:42:32 EDT 2004


On W, 7. April 2004 23:43 Shane Hathaway wrote:

> I would normally suspect infinite recursion when the maximum stack depth
> is exceeded, but the fact that it was exceeded only when the database grew
> makes me wonder if the need was legitimate.

what does this mean "the need was legitimate"?

> > > Yes, by default Ape loads and stores database-like things as one big
> > > file.  We should look at serializing BTrees in a more scaleable manner.

Would it be better if I would use your BTreeFolder2 instead of just a plain 
BTree to store the objects? I tried to store some objects in a BTreFolder2 in 
ape fs storage and the objects appeard in their own files, so there the BTree 
seems to be not stored entirely in one file. I looked at "ofsserial.py" and 
saw that ape treats BTreeFolders in a special way. I wonder about Line 140:

            # The tree and the buckets are unmanaged.
            event.upos.extend(find_unmanaged(obj._tree, obj._tree.values()))

So are the objects in a BTreeFolder stored twice - as their own files and as 
part of the BTree alltogether in one big file?

Klaus



More information about the ZODB-Dev mailing list