Re: Packing, again

Toby Dickenson <[email protected]>
Newsgroups gmane.comp.web.zope.zodb.dirstorage
Message-ID <[email protected]>
On Thursday 02 Sep 2004 04:57, Richard Waid wrote:
> Just a thought -- couldn't the mark/sweep be incremental anyway -- just
> run the pack so it deletes, say, 3 days of transactions, then run it
> again so it deletes 3 days of transactions etc. If used in combination
> with a memory packing strategy, where you don't need to mark the file
> permission bits for each file it should be quite quick (naive?)

To completely remove any object, you need to scan the *whole* storage to prove 
that no other object has a reference to it. That's the only way to reclaim 
space from 'deleted' objects.

(Other incremental schemes are possible. For example BDBStorage uses reference 
counts. A generational scheme could work too. The disadvantage is that they 
would rely on extra housekeeping metadata, which unacceptably reduces fault 
tolerance.)

Something that would be possible is to scan the recent X days of revision 
history. For any objects that have been modified, delete any revisions older 
than Y days.  Y<X. That would reclaim space used up by frequently changing 
objects, but not deleted objects.

patches or sponsorship welcome.


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.