[TYPO3-core] [OT] Could not acquire lock for ClassLoader cache creation

Markus Klein klein.t3 at mfc-linz.at
Thu May 8 11:49:27 CEST 2014


Hi Peter!

> >
> Thank you for your reply, Markus.
> Most interesting part for me: "we invested quite some time to find a safe
> default".
> This means: not enterprise ready ;-)

What has a safe default to do with enterprise readiness??

> 
> It should be configurable like the caching framework: default locker is file
> locking. But there could also be DB based, APC or memcache based lockers.

ClassLoader uses the normal caching framework. But locking has nothing to do with the caching framework. Synchronization (and therefore locking) has to take place before you access the cache.
The reason to fix the synchronization for the ClassLoader cache accesses to file locking is that it provides a basic synchronization mechanism for concurrent requests. No other Core supported locking mechanism provides a synchronization mechanism (see Locker::isLocked()), hence you need to build it around the locking method. And this is where the problem  begins - as written above - there's no safe, generic way to do that with PHP.

> 
> That's what I would expect from a solution claiming "enterprise" cms.
> But definetly not "by default in most cases".
> 
> If help is required pls let me know.

For 6.3 we want to rewrite the Locker class such that you can extend it with your own locker implementations.
We still would love to see a good and widely working synchronization mechanism for all TYPO3 CMs caches. Either a layer in front of the cache frontends or - and more likely this will be the case - an implementation of synchronization in all places where caches are used.
You can take a look at http://wiki.typo3.org/Blueprints/LockingForCaches where I explain our current situation.

> 
> Peter
> 


Kind regards
Markus

------------------------------------------------------------
Markus Klein
TYPO3 CMS Active Contributors Team Member



More information about the TYPO3-team-core mailing list