We have been having some problems where deleting pages takes a
ridiculously long time -- something just less than minute. I tracked
it down to a particular SQL statement that is getting held up due to
another process holding a lock open. I can't figure out what created
the lock, and why it's hanging. Could this possibly be a Mediawiki
issue, or is this definitely a separate MySQL problem?
I see that this is query that is being blocked:
UPDATE /* 127.0.0.1 */ `page` SET page_counter = page_counter + 1
WHERE page_id = <page id>
Here is the Innodb status while the process hangs: http://pastebin.com/m1afe0b2
I'm not sure how to figure out what opened the lock and what that
process was doing. It could be that my MySQL debugging skills are
just woefully lacking. But I figured I'd post here to see if anyone
else had seen something similar or had any ideas.
With many views, it will lock. page_counter is know to be slow.
You can make it to be updated just on average by setting
$wgHitcounterUpdateFreq to some largish value