[Zope] fsdump.py output

Tim Peters tim.peters at gmail.com
Sun Mar 20 14:49:31 EST 2005


[Sean Hastings]
> I am running fsdump.py to see what is in my Data.fs file, because it seems
> to be growing a lot faster than it used to.
>
> The beginning of the file is a large number of object listings as expected.
> However, about half way through I start to see a lot of transaction
> information. These transactions are still in the file even though I have
> consistently packed the ZODB once a day. The dates on these transactions
> start a few moths ago, and relate to various functions in a product I have
> been working on.
> 
> Is there something that I could have added to the code at that time (perhaps
> committing parts of transactions to avoid conflicts) that could be causing
> this transaction information to be left in the Data.fs file even after
> packing it?

There's really nothing unusual about seeing "old" transactions in a
packed FileStorage.  If a transaction created the most-current
revision of a reachable object, then that transaction will remain in
the FileStorage forever -- or until more recent revisions of all
objects modified by that transaction exist, and the FileStorage is
packed to a time after that transaction's time.

For example, if the first transaction ever made created object A, and
nobody ever changes object A again, and object A remains reachable
from the root object, then the first transaction will remain in the
FileStorage forever.  And it must, because in that case it remains the
source of the most-recent revision of A forever.  Packing can only
remove data records for *non*-current object revisions.

Other background info you might find useful:

    http://zope.org/Wikis/ZODB/FileStorageBackup


More information about the Zope mailing list