在relstorage zodb pack期间,“在sys.excepthook中由Error启动的线程中未处理的异常”

时间:2011-07-04 10:54:37

标签: python plone zope zodb relstorage

我们有一个相当大的Plone实例在自己的挂载点上运行。 ZMI接口将数据库的大小列为7101.4M。我们使用Relstorage zodbpack.py脚本运行数据库的每周包,删除超过7天的对象。过去两周,运行包的cron作业输出如下:

Sun Jun 26 07:00:38 BST 2011 packing cms mount
/home/zope/home/parts/zope2/lib/python/zope/configuration/xmlconfig.py:323: DeprecationWarning: zope.app.annotation has moved to zope.annotation. Import of zope.app.annotation will become unsupported in Zope 3.5
__import__(arguments[0])
/home/zope/home/eggs/p4a.common-1.0.7-py2.4.egg/p4a/common/configure.zcml:19: DeprecationWarning: The five:localsite directive is deprecated and will be removed in Zope 2.12.
See Five/doc/localsite.txt .
 <five:localsite class=".Portal.PloneSite" />
/home/zope/home/parts/zope2/lib/python/zope/configuration/fields.py:417: UserWarning: You did not specify an i18n translation domain for the 'description' field in /home/zope/home/eggs/Products.CMFSquidTool-1.5.1-py2.4.egg/Products/CMFSquidTool/configure.zcml
 warnings.warn(
/home/zope/home/parts/zope2/lib/python/zope/configuration/fields.py:417: UserWarning: You did not specify an i18n translation domain for the 'title' field in /home/zope/home/eggs/Products.CMFSquidTool-1.5.1-py2.4.egg/Products/CMFSquidTool/configure.zcml
 warnings.warn(
Unhandled exception in thread started by
Error in sys.excepthook:

Original exception was:
Sun Jun 26 09:56:31 BST 2011 finished pack

第一行和最后一行由cron作业运行的shell脚本输出。

数据库大小在包之后减少,因此看起来它正在做某事。关于如何进一步调试此错误,我有点不知所措。

很长一段时间,包装运行正常。然后,我们更改了数据库的连接参数,但忘记在cron作业上更新它们,因此包运行了11周。它在出现此错误之前成功运行了两次 - 没有运行包的长时间段是否与错误有关?

非常感谢任何帮助。

我们正在运行:

  • Plone 3.3.5
  • Zope 2.10.11
  • Relstorage 1.4.1
  • ZODB 3.8.4-polling

1 个答案:

答案 0 :(得分:2)

错误与Python有关,而与RelStorage无关。有关我认为与此相关的错误报告,请参阅http://bugs.python.org/issue1722344。该错误适用于Python 2.5和2.6,但也可能适用于Python 2.4。尝试将Python 2.4升级到最新版本(如果尚未安装)。

在任何情况下,在这种情况下,该消息都是无害的。打包只使用一个线程,并且最后会收到成功消息(Sun Jun 26 09:56:31 BST 2011 finished pack只有在包成功时才会显示。)

你也可以尝试升级到RelStorage 1.5.0(上周发布);包装得到了显着改善,可以处理更大规模的数据库和繁忙的网站。