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
 > /VirtualHostBase/http/www.beijingsammies.com:80/sammies/VirtualHostRoot/
 > (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
  a (Write)ConflictError.

  It should tell which object caused the conflict.


The attached patch to "Zope/App/startup.py" provides this
additional information.

Please file a feature request to "<http://collector.zope.org/Zope>".


Dieter

--- startup.py~	2003-02-28 16:59:25.000000000 +0100
+++ startup.py	2003-03-17 11:13:28.000000000 +0100
@@ -140,9 +140,9 @@
                 global conflict_errors
                 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),
                     INFO, '')
                 LOG('Conflict traceback', BLATHER, '', error=sys.exc_info())
                 raise ZPublisher.Retry(t, v, traceback)

Reply via email to