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
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/
ZODB-Dev mailing list - ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev