Details
-
Bug
-
Resolution: Obsolete
-
Medium
-
None
-
3.10.0
-
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.