I am running a very old Zope application from 2008, which I had to reinstall on a new server after a crash. I had already a hard time to reinstall these old Zope modules and finally it worked again. However, quite often I am getting the following error, which seems to be related to the module 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')
Error in zope log:
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')
I've checked max_package and timeout variables in MySQL and increased them. There are no errors in the MySQL logs. The error thus does not seem to be related to MySQL in the first place. The solutions proposed in other articles on stackoverflow are not solving this issue.
I probably should not run this dated application anymore, but it is still quite important and cannot be easily replaced. Any help is greatly appreciated.