[ZODB-Dev] Data.fs without content but 1.8GB diskspace

Jeremy Hylton jeremy at zope.com
Tue Oct 7 10:26:48 EDT 2003


On Tue, 2003-10-07 at 03:42, Harald Koschinski wrote:
> What I definitely know is, that this object is droppped / gone / away / 
> deleted.

I'm not sure what you mean.  We both agree that the objects are still in
the database.  The question is what references are keeping the objects
alive.  Why do you think the object is deleted?

> So I have two questions:
> 1. Is it an old bug in ZODB which is fixed now  or is it a bug in 
> filestorage.py ?
> 2. Is there a way to delete those transactions ?

The only way to remove objects from the database is through garbage
collection.  I think it's unlikely that there is a bug in this part of
the garbage collector.  It's more likely that the application (Zope) is
keeping a reference that you didn't expect it to keep.

I'd say your best bet is to modify fsrefs.py to look for references to
the oids in question.  fsrefs.py was written to find dangling
references, but could be modified fairly easily to look for references
to a particular object.  Then you would know what objects refer to the
ones you want to delete.  That may give you more clues about why they
haven't been deleted.

I'm not aware of any general-purpose database scavenging tool to find
the full chain of references.  Maybe some of the traversal code in
checkbtrees.py could be re-used to write a general
traversal+search-for-oid tool.

I don't have time to help write new tools, unfortunately.

> Both questions are very very important for me, because I am on the way 
> to build big (Terabytes) ZODB's using bsdstorage.

Neat.  Does BerkeleyDB support terabyte-size databases?

Jeremy





More information about the ZODB-Dev mailing list