[ZODB-Dev] RelStorage 1.5.0b1 dry-run > two phase pack, better pack lock behaviour

Martijn Pieters mj at zopatista.com
Tue Feb 22 15:41:34 EST 2011


On Tue, Feb 22, 2011 at 19:12, Shane Hathaway <shane at hathawaymix.org> wrote:
> On 02/22/2011 09:25 AM, Martijn Pieters wrote:
>> I haven't yet actually run this code, but the change isn't big. I
>> didn't find any relevant tests to update. Anyone want to venture some
>> feedback?
>
> Both ideas are excellent.  The new options even open the possibility of
> running the pre-pack on a copy of the database, then copying the pack
> tables to the main database for a final run.

BTW, should I just commit the patch, or do you want to integrate it
yourself? I'll look into working the locking idea into a patch too,
but I'll need help with supporting Postgres and MySQL as I don't know
their locking semantics.

Another advantage of allowing re-use of the pack tables: You can abort
a pack run and resume it at a later time without having to go through
pre-pack. The process would race through the already removed
transactions (the DELETEs and UPDATE are noops.

We could perhaps short-circuit the history-aware pack by detecting
that removed_objects and removed_states are both 0.

-- 
Martijn Pieters


More information about the ZODB-Dev mailing list