Bjorn Stabell wrote at 2003-6-3 11:08 +0800:
> Except for SARS, another problem that's been plagueing us for months are
> seemingly random Conflict Errors. We see about 10 every day on our Zope
> 2.6.1, and they can happen on any page. In most cases they are not
> related to pages that actually updated anything (AFAIK), although we do
> use SESSIONS (but no frames). Any clue how to track down which objects
> are having problems, what's causing this?
> 2003-06-03T09:08:10 INFO(0) ZODB conflict error at
> (7 conflicts since startup at 2003-06-02T13:15:05)
The log message for conflict errors is far less instructive than
it could be (almost without any effort).
It should indicate whether it is a ReadConflictError or
It should tell which object caused the conflict.
The attached patch to "Zope/App/startup.py" provides this
Please file a feature request to "<http://collector.zope.org/Zope>".
--- startup.py~ 2003-02-28 16:59:25.000000000 +0100
+++ startup.py 2003-03-17 11:13:28.000000000 +0100
@@ -140,9 +140,9 @@
conflict_errors = conflict_errors + 1
method_name = REQUEST.get('PATH_INFO', '')
- err = ('ZODB conflict error at %s '
+ err = ('ZODB conflict error at %s: %s'
'(%s conflicts since startup at %s)')
- LOG(err % (method_name, conflict_errors, startup_time),
+ LOG(err % (method_name, str(v), conflict_errors, startup_time),
LOG('Conflict traceback', BLATHER, '', error=sys.exc_info())
raise ZPublisher.Retry(t, v, traceback)