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

Joachim Schmitz js at aixtraware.de
Thu May 31 06:07:49 EDT 2007


Dieter Maurer schrieb:
> Perry wrote at 2007-5-25 13:16 +0200:
>> database conflict error (oid 0x7905e6, class BTrees._IOBTree.IOBucket,
>> serial this txn started with 0x036ddc2a44454dee 2007-05-25
>> 09:14:16.000950, serial currently committed 0x036ddc2c21950377
>> 2007-05-25 09:16:07.870801) (80 conflicts (10 unresolved) since startup
>> at Fri May 25 05:19:08 2007)
>> ...
>> ConflictError: database conflict error (oid 0x7905e6, class
>> BTrees._IOBTree.IOBucket, serial this txn started with
>> 0x036ddc2b3e989fdd 2007-05-25 09:15:14.670982, serial currently
>> committed 0x036ddc2dd48f4e33 2007-05-25 09:17:49.818700)
> 
> These log entries indicate a bug in ZODB's invalidation processing.
> 
>   The first entry tells us that the object was read at 9:14:16
>   and the modification conflicts with a write from 9:16:07.
> 
>   The second entry tells us that the object was read at 9:15:14
>   *BUT* at the time this transaction has started,
>   the ZODB should already have known the modification from 9:16:07
>   and the object read at 9:15:14 should have been invalidated.
>   The new transaction should not have seen any state older than 9:16:07
>   (as it begins after this time).

I could reproduce the conflict error on my local machine not using ZEO.

I invoked the longrunning process "create_level" for two users after a 
zope-restart.
here is the log:

2007-05-31 09:44:24 INFO Zope Ready to handle requests

2007-05-31 09:44:39 INFO Skins.create_level A923157 started to create 
level 200
2007-05-31 09:44:41 INFO Skins.create_level Y617041 started to create 
level 400
the next two entries are printed before the redirect/commit
2007-05-31 09:45:01 INFO Skins.create_level Y617041 finished to create 
level 400
2007-05-31 09:45:06 INFO Skins.create_level A923157 finished to create 
level 200
Now the conflict error, look at the transaction start-time, this is 
before the restart of zope !!

2007-05-31 09:45:25 INFO ZPublisher.Conflict ConflictError at 
/uniben/campus/students/A923157/study_course/create_level: database 
conflict error (oid 0x3360e3, class BTrees._OIBTree.OIBucket, serial 
this txn started with 0x036dfd7c73dfc1dd 2007-05-31 07:24:27.157981, 
serial currently committed 0x036dfd9131112455 2007-05-31 
07:45:11.500069) (1 conflicts (0 unresolved) since startup at Thu May 31 
09:44:24 2007)

now this is retried for A923157

2007-05-31 09:45:26 INFO Skins.create_level A923157 started to create 
level 200
2007-05-31 09:45:45 INFO Skins.create_level A923157 finished to create 
level 200




-- 
Gruß Joachim



More information about the Zope-Dev mailing list