Christian Theune <[EMAIL PROTECTED]> 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.
> 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 Diefenbach - http://diefenba.ch
iqplusplus - http://iqpp.de
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org