[Zope-dev] Re: [ZODB-Dev] Re: [Bug] ZODB invalidation processing

Joachim Schmitz js at aixtraware.de
Wed May 30 03:05:33 EDT 2007


Andreas Jung schrieb:
> 
> 
> --On 28. Mai 2007 21:12:13 +0200 Andreas Jung <lists at zopyx.com> wrote:
> 
>>
>>
>> --On 28. Mai 2007 20:03:47 +0200 Joachim Schmitz <js at aixtraware.de> 
>> 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.

How would I do that for the Class _IOBTree, which is in a c-module ?


-- 
Gruß Joachim



More information about the Zope-Dev mailing list