Jim Fulton wrote at 2008-1-2 13:32 -0500:
>> The old "pack" code acquires the "commit" lock at the start
>> of the "copyRest" (copy transactions after pack time) phase
>> and releases it only every 20 "copyOne" calls for the duration
>> of one "copyOne".
>OK. I don't know what you mean by the "finish test".
A lock needs to be held at the end of "copyRest" until
the state is changed (i.e. "Data.fs.pack" is renamed to "Data.fs").
This is the "finish test".
>As I mentioned, the new packing algorithm holds the commit lock much
>less than the old one does.
When we use it, I will have a look whether I still see optimization
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org