[Zope-dev] zope.rdb problem (as it looks)

Brian Sutherland brian at vanguardistas.net
Fri Apr 4 16:17:50 EDT 2008


On Fri, Apr 04, 2008 at 08:36:30PM +0200, Adam GROSZER wrote:
> Hello,
> 
> 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
> https://bugs.launchpad.net/zope3/+bug/98331
> 
> 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.

This has come up previously:

http://www.nabble.com/zope.rdb-error-and-zope.publisher-error-td10199840.html

> 
> ------------
> 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 0x48822a0c>
> 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:agroszer at gmail.com
> --
> Quote of the day:
> Major Premise: Sixty men can do a piece of work sixty times as quickly as one man.
> 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 at zope.org
> http://mail.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists - 
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope )

-- 
Brian Sutherland


More information about the Zope-Dev mailing list