"Необработанное исключение в потоке, запущенном из-за ошибки в sys.excepthook" во время пакета relstorage zodb
У нас достаточно большой экземпляр 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 ответ
Ошибка связана с 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 (он вышел на прошлой неделе); упаковка была значительно улучшена для обработки больших баз данных и загруженных сайтов.