«Необработанное исключение в потоке, запущенном из-за ошибки в sys.excepthook» во время пакета relstorage zodb - PullRequest
2 голосов
/ 04 июля 2011

У нас достаточно большой экземпляр 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.

Размер базы данныхуменьшается после того, как пакет, кажется, что он что-то делает.Я немного растерялся из-за того, как отлаживать эту ошибку дальше.

В течение длительного периода пакет работал нормально.Затем мы изменили параметры соединения для базы данных, но забыли обновить их в задании cron, поэтому пакет не запускался в течение 11 недель.До того, как появилась эта ошибка, он дважды успешно работал - может ли длительный период отсутствия пакетов быть как-то связан с ошибкой?

Любая помощь будет принята с благодарностью.

Мы работаем:

  • Plone 3.3.5
  • Zope 2.10.11
  • Relstorage 1.4.1
  • ZODB 3.8.4-опрос

1 Ответ

2 голосов
/ 04 июля 2011

Ошибка связана с 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 (он вышел на прошлой неделе); упаковка была значительно улучшена для обработки больших баз данных и загруженных сайтов.

...