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

Deadlock when publishing content

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Medium Medium
    • None
    • 3.10.0
    • Legacy > Clustering
    • None
    • Operating System: Linux
      PHP Version: (please be specific, like '4.4.3' or '5.1.5') : PHP 4.4.3
      Database and version: MySQL 4.1
      Browser (and version):

    Description

      The context is the following:

      • 100 concurrent content creators
      • eZ Publish 3.10 in cluster mode
      • 77 siteaccesses all related between them
      • A very large amount of view cache files in database

      The problem was the following:
      When someone publishes a content, some deadlocks arised and some view cache files were not (or not correctly) updated.

      The problem is that the function _deleteByDirListInner in ./kernel/classes/clusterfilehandlers/dbbackends/mysql.dicod.php
      uses an UPDATE query with a LIKE clause which locks too much rows in the same time.

      The solution is to select all the rows and the update them one by one.
      This generate a high amount of SQL queries but avoid deadlocks.
      The function _deleteByDirListInner is attached to this issue.

      I do not provide a diff file since I worked on a custom cluster an a diff file will not work on the standard 3.10 cluster.

      Attachments

        Activity

          People

            bd bd
            qwix qwix
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: