[ZODB-Dev] Re: [Zope-dev] Conflict reduced BTrees for catalogin

Jeremy Hylton jeremy@zope.com
17 Mar 2003 16:16:03 -0500


On Mon, 2003-03-17 at 13:58, Dieter Maurer wrote:
> I used "ReadCommitted" in the sense of PostgreSQL (its default
> isolation level):
> 
>   I read the (consistent) state as it was when the transaction started.
> 
> My main purpose is to get rid of "ReadConflictError"s as
> we currently do not have a good way to cope with them
> (something like the equivalent of conflict resolution).
> 
> My approach is to load the latest version with a timestamp
> before or at the transaction start time.
> This will work only with history enabled storages.
> 
> In order to use the existing cache machinery,
> I hope, I need to load a special serial only when I would get
> a "ReadConflictError" in the current implementation.
> For this to be correct, 
> a synchronization between transaction start times and
> the data structures controlling invalidation is probably
> required which may not yet exist.

Thanks for clarifying what you are up to.  This is in the ZODB4 project
plan under the name "multiversion concurrency control."  Barry and I
were planning to start work on that task in a couple of weeks.  Are you
interested in helping?

I will be out of the office the rest of this week and next, so I
probably won't be too responsive on email.

Jeremy