[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