Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-18231

Infinite loop on transaction when mysql is gone away

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • Customer request
    • 4.0.7, 4.1.4, 4.2.0, 4.3.0, 4.4.0, 4.5.0alpha, 4.5.0beta1, 4.5.0beta2
    • Database related
    • None
    • eZ 4.4, php 5.3, cluster DFS with DB1 and DB2 (server/slave) and DB3 cluster, mysqli

    Description

      From customer:
      -----------------------------------------
      We have just upgraded eZ to 4.4 and php to 5.3 yesterday. But the system is not stable, our pages show very often, a Fatal error due to Memory Limit:

      PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 523800 bytes) in
      lib/ezutils/classes/ezdebug.php on line 414 or 885 for example

      After some first debug, I can say the bug doesn't really come from the logging.
      eZ is looping on an error 'MySQL is gone away' like this (20s generate 200Mb of logs)

      )'eZDBInterface::commit TRANSID-3e498e3dd076bd61b57d13ec4f82ea48:
      Transaction in progress failed due to DB error, transaction was rollbacked. Transaction ID is TRANSID-3e498e3dd076bd61b57d13ec4f82ea48.'truearray (
      0 => 'var/log/',
      1 => 'error.log',
      )'eZMySQLiDB:
      Query error (2006): MySQL server has gone away. Query: ROLLBACK'truearray (
      0 => 'var/log/',
      1 => 'error.log',
      )'eZMySQLiDB:
      Query error (2006): MySQL server has gone away. Query: ROLLBACK'truearray (
      0 => 'var/log/',
      1 => 'error.log',
      )'eZDBInterface::commit TRANSID-23838038ada2d2dffe30ffb9595bf325:
      Transaction in progress failed due to DB error, transaction was rollbacked. Transaction ID is TRANSID-23838038ada2d2dffe30ffb9595bf325.'truearray (
      0 => 'var/log/',
      1 => 'error.log',
      )'eZDBInterface::commit TRANSID-1bb19138a2e1e5a5cd54d63c368deb44:
      Transaction in progress failed due to DB error, transaction was rollbacked. Transaction ID is TRANSID-1bb19138a2e1e5a5cd54d63c368deb44.'truearray (
      0 => 'var/log/',
      1 => 'error.log',
      )'eZMySQLiDB:
      Query error (2006): MySQL server has gone away. Query: ROLLBACK'truearray (
      0 => 'var/log/',
      1 => 'error.log',
      )'eZMySQLiDB:
      Query error (2006): MySQL server has gone away. Query: ROLLBACK'truearray (
      0 => 'var/log/',
      1 => 'error.log',
      -----------------------------------------
      I have attached a patch for mysql and mysqli. Unknown if other databases are affected.

      Steps to reproduce

      Confirmed on git master. See attached test script for reproducing.

      Attachments

        Activity

          People

            dp@ez.no dp@ez.no
            gl gl
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: