That looks like a write conflict. MVCC helps to lower/eliminate the rate of read conflicts. One option to reduce the rate of this write conflict is to tune the session machinery to suit. For example use session-resolution-seconds of say 300 seconds. Thanks! I've changed session-resolution-seconds and did some tests again. With DCOracle 2 there are still some errors (30 conflicts visible for users for 3000 requests), but with SQLRelay there are no errors at all! :) I didn't checked all 30 errors but I think these are all conflicts errors with Products.DCOracle2.DA.Procedure object like this one:
<P>An error was encountered while publishing this resource. </P> <P><STRONG>ZODB.POSException.ConflictError</STRONG></P> Sorry, a site error occurred.<p><p>Traceback (innermost last): <ul> <li> Module ZPublisher.Publish, line 187, in publish_module_standard</li> <li> Module ZPublisher.Publish, line 161, in publish</li> <li> Module ZPublisher.Publish, line 161, in publish</li> <li> Module ZPublisher.Publish, line 161, in publish</li> <li> Module ZPublisher.Publish, line 151, in publish</li> <li> Module Zope2.App.startup, line 158, in zpublisher_exception_hook</li> <li> Module ZPublisher.Publish, line 119, in publish</li> <li> Module Zope2.App.startup, line 215, in commit</li> <li> Module transaction._manager, line 84, in commit</li> <li> Module transaction._transaction, line 381, in commit</li> <li> Module transaction._transaction, line 379, in commit</li> <li> Module transaction._transaction, line 427, in _commitResources</li> <li> Module ZODB.Connection, line 637, in tpc_vote</li> <li> Module ZEO.ClientStorage, line 893, in tpc_vote</li> <li> Module ZEO.ClientStorage, line 877, in _check_serials</li> </ul>ConflictError: database conflict error (oid 0x0299de, class Products.DCOracle2.DA.Procedure, serial this txn started with 0x035f181b76214155 2005-08-04 08:59:27.686696, serial currently committed 0x035f181b79752811 2005-08-04 08:59:28.466635) Any ideas what can be done to remove this problem, except the obvious solution - that is moving to SQLRelay ;) I tried _p_resolveConflict function but without effect - it's used to resolve write conflict and I suppose these errors like the one above are read conflicts. -- Maciej Wisniowki