--On 28. Mai 2007 21:12:13 +0200 Andreas Jung <[EMAIL PROTECTED]> wrote:

--On 28. Mai 2007 20:03:47 +0200 Joachim Schmitz <[EMAIL PROTECTED]> wrote:

Joachim Schmitz schrieb:
ConflictError: database conflict error (oid 0x7fd771, class
BTrees._IOBTree.IOBucket, serial this txn started with 0x036deefe18489244
2007-05-28 17:34:05.691441, serial currently committed 0x036def009207e011
2007-05-28 17:36:34.225960)

How can I find out, which objects are really involved in the conflict.

from ZODB.utils import p64
print app._p_jar[p64(some_oid)]

The oid is available from the traceback. If you are running ZEO it might
be necessary to replace 'app' with the top-level (or some other object)
of the related storage (might be tricky to figure out if you have
multiple storages).

Another trick that helped me lately to identify the reason for conflict errors was to implement the _p_resolveConflict() hook as method of the related class having the conflict.


Attachment: pgpWMpg9SDVcI.pgp
Description: PGP signature

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to