Details
-
Bug
-
Resolution: Fixed
-
High
-
5.2, 2014.07, 5.3.2.1, 5.4-dev
-
None
-
some siteaccesses (apart from backend) need to be legacy mode
Description
when previewing content in admin, if the siteaccess selected is in legacy mode, the kernel/content/versionview.php will cause the language cache to be cleared.
in a high load environment (with heavy editorial actions) previewing the content causes these errors:
[ Jul 17 2014 15:40:01 ] [] _storeContents(var/cache/ezcontentlanguage_cache.php, ..., content, php)::_commit: Failed to execute SQL for function: 1213: Deadlock found when trying to get lock; try restarting transaction [ Jul 17 2014 15:50:01 ] [] _delete(var/cache/ezcontentlanguage_cache.php)::_commit: Failed to execute SQL for function: 1213: Deadlock found when trying to get lock; try restarting transaction [ Jul 17 2014 16:00:01 ] [] _storeContents(var/cache/ezcontentlanguage_cache.php, ..., content, php)::_commit: Failed to execute SQL for function: 1213: Deadlock found when trying to get lock; try restarting transaction
the deadlock is caused in the versionview.php module, at:
eZContentLanguage::expireCache();
this line was used to clear only in-memory languages before the language cache was introduced.
deadlock is not reproducible in a test environment, but we can check that executing a preview as described deletes the file, and generates a new one without any difference.