[ZODB-Dev] Re: Concurrent transactions

Kai Diefenbach usenet at diefenba.ch
Fri Jun 1 04:31:40 EDT 2007


Christian Theune <ct at gocept.com> wrote:
> Am Freitag, den 01.06.2007, 09:47 +0200 schrieb Kai Diefenbach:
> > A gets counter = 5
> > B gets counter (before A writes the increased counter) = 5
> > 
> > A increases and writes the counter => 6 
> > B increases and writes the counter => 6 (*)
> > 
> > *) In my understanding, here a ConflictError is raised and the whole
> > transaction will be repeated, that means it starts with the counter of
> > 6. Is this right?
> 
> Yes, in Zope. That's nothing ZODB does. ZODB only raises a conflict
> error and aborts the transaction.

Ah, thanks!

> And you can make it perform better by implementing application level
> conflict resolution so your counter knows that if two transactions moved
> from 5 to 6 concurrently the real value should be 7. This is *the*
> example for when application level conflict resolution is helpful.
> 
> But: Your ALC code must be available on the ZEO server if needed.

Okay, sounds interesting. I check this out. Thanks!

Kai
-- 
Kai Diefenbach - http://diefenba.ch
iqplusplus - http://iqpp.de



More information about the ZODB-Dev mailing list