We're having here a problem in a high load situation with quite long
running (10-20 secs) transactions.
The app uses mySQL extensively, and just a bare minimum of ZODB to
store the root and registrations.
I think that there's lower level error concerning ZODB, but in
zope.rdb, in queryForResults, line 381:

except Exception, error:

eats the traceback.

This smells like

So I propose to move that except further down the stack, where it will
really catch just DB errors.

Or any better idea is welcome.

Module zope.publisher.publish, line 133, in publish
  result = publication.callObject(request, obj)
Module zope.app.publication.zopepublication, line 161, in callObject
  return mapply(ob, request.getPositionalArguments(), request)
Module zope.publisher.publish, line 108, in mapply
  return debug_call(obj, args)
  __traceback_info__: <security proxied 
zope.app.publisher.browser.viewmeta.ManagementViewSelector instance at 
Module zope.publisher.publish, line 114, in debug_call
  return obj(*args)
Module zope.app.publisher.browser.managementviewselector, line 35, in __call__
  item = getFirstMenuItem('zmi_views', self.context, self.request)
Module zope.app.publisher.browser.menu, line 181, in getFirstMenuItem
  items = getMenu(id, object, request)
Module zope.app.publisher.browser.menu, line 176, in getMenu
  return menu.getMenuItems(object, request)
Module zope.app.publisher.browser.menu, line 53, in getMenuItems
  if item.available():
Module zope.app.publisher.browser.menu, line 113, in available
  view = traverser.traverseRelativeURL(
Module zope.app.publication.browser, line 47, in traverseRelativeURL
  ob = self.traversePath(request, ob, path)
Module zope.app.publication.publicationtraverse, line 95, in traversePath
  ob = self.traverseName(request, ob, name)
Module zope.app.publication.publicationtraverse, line 61, in traverseName
  ob2 = adapter.publishTraverse(request, nm)
Module zope.app.container.traversal, line 72, in publishTraverse
  return self.context[name]
Module ....container, line 65, in __getitem__
  if not self.__contains__(key):
Module ....container, line 111, in __contains__
  results = queryForResults(db,query)
Module zope.rdb, line 384, in queryForResults
  raise DatabaseException(str(error))
DatabaseException: Shouldn't load state for 0x50 when the connection is closed

Best regards,
 Adam GROSZER                          mailto:[EMAIL PROTECTED]
Quote of the day:
Major Premise: Sixty men can do a piece of work sixty times as quickly as one 
Minor Premise: One man can dig a posthole in sixty seconds;
Conclusion: Sixty men can dig a posthole in one second.

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to