ConflictError from Products.Transience.TransientObject.TransientObject
Hi All, I have an old Zope 2.9.8 instance which has recently started throwing the following unresolved ConflictErrors: 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 transaction._transaction, line 380, in commit Module transaction._transaction, line 378, in commit Module transaction._transaction, line 433, in _commitResources Module ZODB.Connection, line 479, in commit Module ZODB.Connection, line 1050, in _commit_savepoint Module tempstorage.TemporaryStorage, line 202, in store ConflictError: database conflict error (oid 0x046a, class Products.Transience.TransientObject.TransientObject, serial this txn started with 0x0387c9f23edea155 2010-07-27 10:26:14.735074, serial currently committed 0x0387c9f28a1ff766 2010-07-27 10:26:32.373016) To my knowledge, the request that throws this isn't touching the session or temp_folder, but I guess something is. How can I find out what code is actually touch this and so causing this conflict? Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk
Chris Withers wrote:
To my knowledge, the request that throws this isn't touching the session or temp_folder, but I guess something is.
How can I find out what code is actually touch this and so causing this conflict?
In similar circumstances, I also see: 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 transaction._transaction, line 380, in commit Module transaction._transaction, line 378, in commit Module transaction._transaction, line 433, in _commitResources Module ZODB.Connection, line 479, in commit Module ZODB.Connection, line 1050, in _commit_savepoint Module tempstorage.TemporaryStorage, line 202, in store ConflictError: database conflict error (oid 0x29, class Products.Transience.Transience.Increaser, serial this txn started with 0x0387c9ffb271bc44 2010-07-27 10:39:41.822878, serial currently committed 0x0387ca0108963711 2010-07-27 10:41:02.012526) How can I find out what's going on to cause this conflict? Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk
Chris Withers wrote:
To my knowledge, the request that throws this isn't touching the session or temp_folder, but I guess something is.
How can I find out what code is actually touch this and so causing this conflict?
This might be something with timeslices and buckets that are core concepts in Transience. Take a look at HowTransienceWorks.stx document or at my old post about this issue: http://www.mail-archive.com/zope-dev@zope.org/msg22620.html
AFAIR you don't even have to touch session objects in order to make transience machinery work. You may try to incerase session_resolution_seconds (eg. to 300) at your zope.conf to get rid of these conflict errors. -- Maciej Wisniowski
Maciej Wisniowski wrote:
You may try to incerase session_resolution_seconds (eg. to 300) at your zope.conf to get rid of these conflict errors.
Is that a root zope.conf setting or does it live in some special section? cheers, Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk
Chris Withers pisze:
Maciej Wisniowski wrote:
You may try to incerase session_resolution_seconds (eg. to 300) at your zope.conf to get rid of these conflict errors.
Is that a root zope.conf setting or does it live in some special section?
It is a root setting in zope.conf. Example from my zope conf (written with dash): session-resolution-seconds 300 -- Maciej Wisniowski
participants (2)
-
Chris Withers -
Maciej Wisniowski