You might try placing the session data container in the main ZODB FileStorage (or ZEO storage if you use ZEO) to see if it demonstrates fewer conflicts there than using one contained in a TemporaryStorage. If you use ZEO, you will need to ensure that the Products.faster package can be imported from within the storage server itself (the storage server performs conflict resolution as opposed to each client doing it). On May 23, 2007, at 1:12 PM, Joachim Schmitz wrote:
Hi,
in our Studentregistration portal we experience many conflict errors under heavy load many of them unresolved.
the configuration
ZEO-server running on one machine 4 Zope-Clients with CPS-3.4.2 with 4 threads each running on a second box, we are using the faster session product
all running Zope 2.9.3, python 2.4.3 on Ubuntu 4.0.3
a typical case looks like this: about 5 or 6 messages in the log file with the oid 0x2b
2007-05-23T17:32:38 INFO ZPublisher.Conflict ConflictError at / VirtualHostBase/http/uniben.waeup.org:80/uniben/VirtualHostRoot/ campus/students/S882364/study_course/create_level: database conflict error (oid 0x2b, class Products.faster.sessiondata.SessionDataContainer, serial this txn started with 0x036dd29c28404f33 2007-05-23 16:28:09.433877, serial currently committed 0x036dd29ed2491566 2007-05-23 16:30:49.285660) (780 conflicts (73 unresolved) since startup at Wed May 23 05:56:52 2007)
and finally
------ 2007-05-23T17:32:38 ERROR Zope.SiteErrorLog http://uniben.waeup.org/ campus/students/S882364/study_course/create_level Traceback (innermost last): Module Zope2.App.startup, line 173, in zpublisher_exception_hook Module ZPublisher.Publish, line 121, in publish Module Zope2.App.startup, line 240, in commit Module transaction._manager, line 96, in commit Module Products.CPSCompat.PatchZODBTransaction, line 175, in commit Module transaction._transaction, line 433, in _commitResources Module ZODB.Connection, line 484, in commit Module ZODB.Connection, line 526, in _commit Module ZODB.Connection, line 554, in _store_objects Module tempstorage.TemporaryStorage, line 200, in store ConflictError: database conflict error (oid 0x2b, class Products.faster.sessiondata.SessionDataContainer, serial this txn started with 0x036dd29c28404f33 2007-05-23 16:28:09.433877, serial currently committed 0x036dd29ed2491566 2007-05-23 16:30:49.285660)
Even though we have many write operations the write operations can't actually conflict, since each student only works on his own documents.
Any hints howto to get further insight into this problem is welcome.
-- Gruß Joachim
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )