Bug #19711
closed
['SYS']['lockingMode'] => default value 'disable' is lost
Added by David Bruchmann almost 16 years ago.
Updated about 6 years ago.
Description
the default-value of $TYPO3_CONF_VARS['SYS']['lockingMode'] is now "simple" instead of "disable".
This is very bad because the actual state of the locking-class isn't as stable as expected. Sometimes it needs several minutes to release a lock and made my Website breaking down regrettable for several weeks now.
After inserting the value "disable" in localconf at least one domain is served immeaditley now instead of waiting many seconds and sometimes minutes for a page.
Hearing about blank pages, inexplicable errormessages with hint about missing memory and other strange behaviors I think that this point is responsable for most of them.
(issue imported from #M9968)
The main problem is that the Locking Mechanism doesn't work!
The settings in the localconf or in the class-file aren't relevant when that fault is fixed.
Disabling the locking at all isn't a good ideas since it may lead to other conflicts on concurrent requests in the frontend - e.g. in template parsing, old "page is being generated" message and duplicates on writing cached data.
Did you use other settings than "simple"? E.g. the semaphore locking works quite good on my site. However, it's true, that the locking has to be optimized in case an extension breaks and prevents the locking mechanism from releasing the lock again.
Hm... an "enhancement" of the simple lock could be to define the lock-timeout (maximum time to wait a lock gets released by another process) different...
Lock-timeout should be max. 90% of the PHP max-execution time! I guess that this is the reason of the mentioned crashes and misbehaviours on that...
The MySQL function GET_LOCK() provides very sophisticated locking (compared to the "simple" mode) and should be available to every Typo3 installation with MySQL backend. Probably this method can be used as default if a MySQL DB is used.
See: http://dev.mysql.com/doc/refman/4.1/en/miscellaneous-functions.html#function_get-lock
IMHO the "simple" function is much too .... simple. It should be substituted by "semaphore" or the MySQL GET_LOCK() function if available.
I would be happy to provide a patch adding the MySQL locking if you want.
Leonhard,
I would be happy to provide a patch adding the MySQL locking if you want.
I don't know really much about locking, so I prefer letting other persons solve the problem. But if you're able to create a better solution, i'd be interested in it.
TYPO3 4.2.8:
The description of [SYS][lockingMode] should be updated. The last sentence says: "Default is disable".
But the current default setting is "simple".
- Status changed from Accepted to Needs Feedback
- Target version deleted (
0)
The issue is very old, does this issue exists in newer versions of TYPO3 CMS (4.5 or 6.1)?
The settings in the install-tool still are
'lockingMode' => 'simple'
About the form in the moment I can't look up if the description about the default mode has changed.
For the case that translated versions of the install-tool exist (I always use english) the translations had to be checked too.
Furthermore I don't know if or what has changed under the hood concerning the locking-mechanism. So even the default setting is 'simple' as default-mode the function itself maybe different.
The most confusing was that documentation and description in install-tool about the default-mode have been / are? different than reality, but sure it would be nice having a working default setting too - just improvable by admins who know what it is about.
The documentation in install tool still says "Default is 'disable'".
- Status changed from Needs Feedback to New
- Status changed from New to Resolved
- Is Regression set to No
- Status changed from Resolved to Closed
Also available in: Atom
PDF