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

Joachim Schmitz js at aixtraware.de
Thu May 31 07:10:29 EDT 2007


Joachim Schmitz schrieb:
> 
> 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

I deleted the created objects and repeated the test:

2007-05-31 12:46:12 ERROR Zope.ZCatalog uncatalogObject unsuccessfully 
attempted to uncatalog an object with a uid of 
/uniben/campus/students/A923157/study_course/200/ZOO213.
2007-05-31 12:47:05 INFO Skins.create_level Y617041 started to create 
level 400
2007-05-31 12:47:14 INFO Skins.create_level A923157 started to create 
level 200
2007-05-31 12:47:25 INFO Skins.create_level Y617041 finished to create 
level 400
2007-05-31 12:47:40 INFO Skins.create_level A923157 finished to create 
level 200
2007-05-31 12:47:58 INFO ZPublisher.Conflict ConflictError at 
/uniben/campus/students/A923157/study_course/create_level: database 
conflict error (oid 0x3647b0, class BTrees._IOBTree.IOBucket, serial 
this txn started with 0x036dfe463486d955 2007-05-31 10:46:12.310958, 
serial currently committed 0x036dfe479a5725cc 2007-05-31 
10:47:36.173536) (3 conflicts (0 unresolved) since startup at Thu May 31 
09:44:24 2007)

again the txn starttime is that of an older transaction, and it is the 
time of the uncatalog entry.

If I invoke the create_level only for one student, no conflict-error occurs.


-- 
Gruß Joachim



More information about the Zope-Dev mailing list