[TYPO3-core] RFC: Bug #7630: Locking Problems with TSFE->set_no_cache()

Steffen Kamper steffen at sk-typo3.de
Fri Feb 22 20:43:53 CET 2008


"Jeff Segars" <jsegars at alumni.rice.edu> schrieb im Newsbeitrag 
news:mailman.1.1203708681.2748.typo3-team-core at lists.netfielders.de...
> This is a SVN patch request.
>
> Branches: 4.2
>
> Bugtracker Reference: http://bugs.typo3.org/view.php?id=7630
>
> Problem:
> The locking API has problems if an extension sets TSFE->set_no_cache().
>
> When a page is rendered, a lock is generated as long as the page itself
> isn't set to be uncached. At this point in time, we know nothing about
> what individual extensions will do with page caching. When rendering
> completes, we release the lock and again check to see if the page is
> marked as uncached, which it may be because of an extension calling
> TSFE->set_no_cache(). If the page is now marked as uncached, we don't do
> anything with locks which in turn leaves us with an open lock.
> Subsequent reloads of the page will take approximately 30 seconds due to
> the open locks.
>
> Solution:
> Release the locks within TSFE->set_no_cache().
>
> Notes:
> The attached patch also contains some sysLog output for easier debugging
> of the problem.  This should be removed prior to commit so that only the
> lines within set_no_cache() and releasePageGenerationLock() are changed.
>  I've also attached a test extension on the bugtracker.  All it does is
> set TSFE->set_no_cache so you can easily see the behavior before and
> after the patch.
>
> Thanks,
> Jeff

Hi Jeff,

+1 by reading and testing.
great you added the syslog messages.

The result with this patch an the no_cache is extreme - without patch 
refresh needs 20-30 sec, with patch < 1sec

vg  Steffen 




More information about the TYPO3-team-core mailing list