[TYPO3-english] Saving pages in BE locks complete database

Christopher Lörken lists at bytro.com
Mon Feb 15 18:13:58 CET 2010


Am 15.02.2010 17:16, schrieb David Bruchmann:
>
> Hi,
>
> I had this behavior 14-15 month ago and changed
> $TYPO3_CONF_VARS['SYS']['lockingMode'] to 'disable';
> In Installtool you can verify the options you can set there - the
> default value wasn't 'disable' at this time, for the current versions I
> don't know.
> The Option 'disable' isn't the best but read here:
>
> I created a thread in the bugtracker for that:
> http://bugs.typo3.org/view.php?id=9968
>
> Best Regards
> David
>

Hi David,

that is an interesting issue. You are right, that the default setting in 
my Typo 4.2 is still "simple".

But please help me understand this, as far as I see it in tslib_fe and 
t3lib_lock, the locking mechanism is used to stall the page generation 
in case it is already in progress. (I do actually have problems finding 
the spot where it stalls so please correct me if I'm wrong here...)

So when the lock is not properly released it would mean that a 
concurrent session which requests the page will wait forever for the 
page to be rendered by the process which owns the lock, right?

If that is the case, I'd assume that the database would idle in the 
background. But unfortunately, our DB seems blocked showing 180 queries 
which simply will not vanish... Even after 600+ seconds... (The UPDATE 
pages query which seems to cause the problem is shown in the MySQL 
Administrator in state "end" and not locked, but it does not end.)

In fact tslib_fe shows these rows:

	// Release open locks
	$this->releasePageGenerationLock($this->pagesection_lockObj);
	$this->releasePageGenerationLock($this->pages_lockObj);

	// Sets sys-last-change:
	$this->setSysLastChanged();

which menas that the lock should be released before that problematic 
query gets executed...

So, as far as I understand it, the problem is not that the page 
generation stops but that the database somehow freezes. Can that be 
connected? That somewhere maybe MySQL tries to send its results but the 
PHP code is locked in some way so it doesn't read it properly leaving 
the DB in a deadlock?


Thanks for your feedback,

regards,
Christopher


More information about the TYPO3-english mailing list