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






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