-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Maciej Wisniowski wrote:
That looks like a write conflict. MVCC helps to lower/eliminate the rate of read conflicts. One option to reduce the rate of this writeconflict 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.
Nope; any conflict propagated from within 'commit' is going to be a write conflict; more than one transaction is writing to the same persistent object (in the ZODB) at the same time. Tres. - -- =================================================================== Tres Seaver +1 202-558-7113 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFC81Vd+gerLs4ltQ4RAtaEAKDAokv4+azXlqfF2vppOCnhmp2tTwCgv+uw v9w7biMr71rQLFtynCZN0wU= =gzYB -----END PGP SIGNATURE-----