John Belmonte wrote at 2006-4-22 19:13 -0400:
> ...
>I'm attempting to dust off my old high-write ZODB/ZEO app, and am having
>a hard time tracking down a problem.  Something goes very wrong in the
>case where I catch a write conflict, abort the transaction, and attempt
>a retry.  Frequently it appears as if the abort did not restore the
>objects to their state before the transaction.  (Specifically, I'm
>calling transaction.abort() followed by connection.sync().)  For
>example, say that in a transaction I'm deleting an item from an OOBTree
>and at commit there is a write conflict.  I abort the transaction, but
>then when I attempt to delete the item again, I get a KeyError on the
>OOBTree.  (The symptom is not specific to OOBTree's.)

It is unlikely that this is standard ZODB behaviour:

  Zope catches "ConflictError"s and performs a retry
  (and we do it in a "TransactionHandler" class).
  It works without apparent flaw.

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -

Reply via email to