“Unhandled exception in thread started by Error in

2019-05-28 21:49发布

问题:

We have a reasonably large Plone instance running on its own mount point. The ZMI interface lists the size of the database as 7101.4M. We run a weekly pack of the database using the Relstorage zodbpack.py script, removing objects older than 7 days. The last two weeks the cron job that runs the pack has output the following:

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

The first and last lines are output by the shell script the cron job runs.

The database size decreases after the pack so it appears it is doing something. I'm at a bit of a loss as to how to debug this error further.

For a long period the pack was running OK. We then changed the connection parameters for the database but forgot to update them on the cron job and so the pack wasn't run for 11 weeks. It ran successfully twice before this error appeared - could the long period of no packs being run have something to do with the error?

Any help would be much appreciated.

We're running:

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

回答1:

The error is related to Python, not RelStorage. See http://bugs.python.org/issue1722344 for the bugreport I think is relevant here. That bug applies to Python 2.5 and 2.6, but may also be applicable to Python 2.4. Try upgrading Python 2.4 to the latest if it is not already.

In any case, the message is harmless in this case. Packing only uses one thread, and you do get the success message at the end (Sun Jun 26 09:56:31 BST 2011 finished pack will only be displayed if the pack was successful).

You could also try upgrading to RelStorage 1.5.0 (it came out last week); packing was significantly improved to handle larger scale databases and busy sites.