database conflicts and Error Reporting utility problems

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

database conflicts and Error Reporting utility problems

jmichiel
I'm having problems with database conflict errors leading to a component lookup error for IErrorReportingUtility, resulting in db conflicts for almost every subsequent db access.

After some time of running, I first get these kind of warnings:

2011-10-04 14:57:33,263 WARNING [ZopePublication] Competing writes/reads at /arts/++vh++http:art.traficon.int:80/++/: database conflict error (oid 0x018bb8, class BTrees.IOBTree.IOBucket, serial this txn started with 0x039180c971a7ccaa 2011-10-04 12:57:26.638000, serial currently committed 0x039180c988407199 2011-10-04 12:57:31.934000)

Mostly, this does not seem to be a problem, but sometimes, they happen in a short timespan, resulting in this error
2011-10-04 14:57:33,263 ERROR [SiteError] Error while reporting an error to the Error Reporting utility
Traceback (most recent call last):
  File "d:\git\qcpython\art\server\eggs\zope.app.publication-3.13.1-py2.6.egg\zope\app\publication\zopepublication.py", line 265, in _logErrorWithErrorReportingUtility
    errUtility = zope.component.getUtility(IErrorReportingUtility)
  File "d:\git\qcpython\art\server\eggs\zope.component-3.10.0-py2.6.egg\zope\component\_api.py", line 169, in getUtility
    raise ComponentLookupError(interface, name)
ComponentLookupError: (<InterfaceClass zope.error.interfaces.IErrorReportingUtility>, '')

After that, for each request I get 4 of those warnings followed by the error.
The only thing I can do is restart the server and everything works as expected again.

Is the fact that getting the IErrorReportingUtility fails an indication that something is missing in my buildout, or is that just the result of the db conflicts.

A possible reason might be that there are 2 XML-RPC clients connecting to the db and uploading data to it. Could this be causing the conflicts, resulting in this behaviour? What spooks me most is that the IErrorReportingUtility can't be loaded and that I really have to shut down the server and restart it to get it going again.
Reply | Threaded
Open this post in threaded view
|

Re: database conflicts and Error Reporting utility problems

Sebastian Ware
IErrorReportingUtility i implemented and registered by the egg

  zope.error

so you could double check that you have that egg. But it sounds like it hasn't been registered properly. To check if that is the case you could just create a grok.GlobalUtility with:

  grok.implements(IErrorReportingUtility)

If the error reporting utility is registered properly you would get a configuration error. If you don't get that, your project has failed to register the error reporting utility implemented in zope.error. Not sure why this would happen if the egg exsists though.

If the egg is missing (which sounds highly unlikely because it is import from other eggs), you could add 'zope.error' to install_requires in setup.py, and see if that solves your problem.

Mvh Sebastian


17 okt 2011 kl. 11.03 skrev Jeroen Michiel:

>
> I'm having problems with database conflict errors leading to a component
> lookup error for IErrorReportingUtility, resulting in db conflicts for
> almost every subsequent db access.
>
> After some time of running, I first get these kind of warnings:
>
> 2011-10-04 14:57:33,263 WARNING [ZopePublication] Competing writes/reads at
> /arts/++vh++http:art.traficon.int:80/++/: database conflict error (oid
> 0x018bb8, class BTrees.IOBTree.IOBucket, serial this txn started with
> 0x039180c971a7ccaa 2011-10-04 12:57:26.638000, serial currently committed
> 0x039180c988407199 2011-10-04 12:57:31.934000)
>
> Mostly, this does not seem to be a problem, but sometimes, they happen in a
> short timespan, resulting in this error
> 2011-10-04 14:57:33,263 ERROR [SiteError] Error while reporting an error to
> the Error Reporting utility
> Traceback (most recent call last):
>  File
> "d:\git\qcpython\art\server\eggs\zope.app.publication-3.13.1-py2.6.egg\zope\app\publication\zopepublication.py",
> line 265, in _logErrorWithErrorReportingUtility
>    errUtility = zope.component.getUtility(IErrorReportingUtility)
>  File
> "d:\git\qcpython\art\server\eggs\zope.component-3.10.0-py2.6.egg\zope\component\_api.py",
> line 169, in getUtility
>    raise ComponentLookupError(interface, name)
> ComponentLookupError: (<InterfaceClass
> zope.error.interfaces.IErrorReportingUtility>, '')
>
> After that, for each request I get 4 of those warnings followed by the
> error.
> The only thing I can do is restart the server and everything works as
> expected again.
>
> Is the fact that getting the IErrorReportingUtility fails an indication that
> something is missing in my buildout, or is that just the result of the db
> conflicts.
>
> A possible reason might be that there are 2 XML-RPC clients connecting to
> the db and uploading data to it. Could this be causing the conflicts,
> resulting in this behaviour? What spooks me most is that the
> IErrorReportingUtility can't be loaded and that I really have to shut down
> the server and restart it to get it going again.
> --
> View this message in context: http://old.nabble.com/database-conflicts-and-Error-Reporting-utility-problems-tp32665492p32665492.html
> Sent from the Grok mailing list archive at Nabble.com.
>
> _______________________________________________
> Grok-dev mailing list
> [hidden email]
> https://mail.zope.org/mailman/listinfo/grok-dev


_______________________________________________
Grok-dev mailing list
[hidden email]
https://mail.zope.org/mailman/listinfo/grok-dev