[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