Zope: ZMySQLDA OperationalError: (2006, «Сервер MySQL исчез»)

Я запускаю очень старое приложение Zope 2008 года, которое мне пришлось переустанавливать на новый сервер после сбоя. У меня уже было тяжелое время, чтобы переустановить эти старые модули Zope, и, наконец, это снова заработало. Однако довольно часто я получаю следующую ошибку, которая, похоже, связана с модулем ZMySQLDA:

Traceback (innermost last):

Module ZPublisher.Publish, line 249, in publish_module_standard
Module ZPublisher.Publish, line 194, in publish
Module Zope2.App.startup, line 304, in abort
Module transaction._manager, line 92, in abort
Module transaction._transaction, line 503, in abort
Module Shared.DC.ZRDB.TM, line 64, in abort
Module Products.ZMySQLDA.db, line 634, in _abort
Module Products.ZMySQLDA.db, line 520, in _query
OperationalError: (2006, 'MySQL server has gone away')

Ошибка в журнале zope:

2019-02-24T11:01:20 WARNING ZMySQLDA query failed: ROLLBACK

2019-02-24T11:01:20 ERROR txn.139701499614976 Failed to abort resource 
manager: <Products.ZMySQLDA.db.DB instance at 0x7f0ec950e440>
Traceback (most recent call last):
File 
"/***/***/.pyenv/versions/2.7.12/envs/my_zope2/lib/python2.7/site-packages/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 503, in abort
rm.abort(self)
File 
"/***/***/.pyenv/versions/2.7.12/envs/my_zope2/lib/python2.7/site-packages/Products.ZSQLMethods-2.13.4-py2.7.egg/Shared/DC/ZRDB/TM.py", line 64, in abort
try: self._abort()
File  "/***/**/.pyenv/versions/2.7.12/envs/my_zope2/lib/python2.7/site-packages/Products.ZMySQLDA-3.1.1-py2.7.egg/Products/ZMySQLDA/db.py", line 634, in _abort
self._query("ROLLBACK")
File 
"/***/***/.pyenv/versions/2.7.12/envs/my_zope2/lib/python2.7/site-packages/Products.ZMySQLDA-3.1.1-py2.7.egg/Products/ZMySQLDA/db.py", line 520, in _query
self.db.query(query)
OperationalError: (2006, 'MySQL server has gone away')

2019-02-24T11:01:21 ERROR ZMySQLDA exception during _begin
Traceback (most recent call last):
File 
"/***/***/.pyenv/versions/2.7.12/envs/my_zope2/lib/python2.7/site-packages/Products.ZMySQLDA-3.1.1-py2.7.egg/Products/ZMySQLDA/db.py", line 601, in _begin
self.db.ping()
OperationalError: (2006, 'MySQL server has gone away')

Я проверил переменные max_package и timeout в MySQL и увеличил их. В логах MySQL ошибок нет. Таким образом, ошибка, похоже, не связана с MySQL в первую очередь. Решения, предложенные в других статьях о stackoverflow, не решают эту проблему.

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

Возможный дубликат Ошибка MySQL 2006: сервер mysql ушел

dan-klasson 24.02.2019 11:22

Я уже проверял эти решения раньше, и они, похоже, не связаны.

Peter 24.02.2019 13:45

Возможно, эта проблема связана с управлением сеансом, потому что иногда я также получаю эти ошибки: INFO ZPublisher.Conflict ConflictError (см. Ошибки конфликта Zope). Мой обходной путь для этой проблемы на данный момент: перезапуск Zope каждую 2-ю минуту.

Peter 28.02.2019 13:51
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
81
0

Другие вопросы по теме