Page MenuHomePhabricator

[Bug] Deadlock in EntityUsageTable::addUsages
Closed, ResolvedPublic

Description

Example:

2015-07-06 08:16:05 mw1009 ruwikisource exception INFO: [058c821a] /rpc/RunJobs.php?wiki=ruwikisource&type=refreshLinks&maxtime=30&maxmem=300M   Wikibase\Client\Usage\UsageTrackerException from line 153 of /srv/mediawiki/php-1.26wmf12/extensions/Wikidata/extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php: A database error has occurred. Did you forget to run maintenance/update.php after upgrading?  See: https://www.mediawiki.org/wiki/Manual:Upgrading#Run_the_update_script
Query: INSERT IGNORE INTO `wbc_entity_usage` (eu_page_id,eu_aspect,eu_entity_id,eu_touched) VALUES ('12918','L.ru','Q213678','20150706081605'),('12918','L.ru','Q4584301','20150706081605'),('12918','L.ru','Q1200925','20150706081605'),('12918','L.ru','Q750403','20150706081605'),('12918','L.ru','Q193563','20150706081605'),('12918','L.ru','Q1868372','20150706081605'),('12918','L.ru','Q9384291','20150706081605'),('12918','L.ru','Q501851','20150706081605'),('12918','L.ru','Q36578','20150706081605'),('12918','L.ru','Q642074','20150706081605'),('12918','L.ru','Q3803707','20150706081605'),('12918','L.ru','Q423048','20150706081605'),('12918','L.ru','Q620946','20150706081605'),('12918','L.ru','Q477675','20150706081605'),('12918','L.ru','Q732353','20150706081605'),('12918','L.ru','Q1967876','20150706081605'),('12918','L.ru','Q623578','20150706081605'),('12918','L.ru','Q1526131','20150706081605'),('12918','L.ru','Q11789729','20150706081605'),('12918','L.ru','Q245966','20150706081605'),('12918','L.ru','Q1048694','20150706081605'),('12918','L.ru','Q953058','20150706081605'),('12918','L.ru','Q2597810','20150706081605'),('12918','L.ru','Q54919','20150706081605')
Function: Wikibase\Client\Usage\Sql\EntityUsageTable::addUsages
Error: 1213 Deadlock found when trying to get lock; try restarting transaction (10.64.16.27)

#0 /srv/mediawiki/php-1.26wmf12/extensions/Wikidata/extensions/Wikibase/client/includes/store/UsageUpdater.php(81): Wikibase\Client\Usage\Sql\SqlUsageTracker->trackUsedEntities()
#1 /srv/mediawiki/php-1.26wmf12/extensions/Wikidata/extensions/Wikibase/client/includes/Hooks/DataUpdateHookHandlers.php(147): Wikibase\Client\Store\UsageUpdater->addUsagesForPage()
#2 /srv/mediawiki/php-1.26wmf12/extensions/Wikidata/extensions/Wikibase/client/includes/Hooks/DataUpdateHookHandlers.php(62): Wikibase\Client\Hooks\DataUpdateHookHandlers->doLinksUpdateComplete()
#3 /srv/mediawiki/php-1.26wmf12/includes/Hooks.php(204): Wikibase\Client\Hooks\DataUpdateHookHandlers::onLinksUpdateComplete()
#4 /srv/mediawiki/php-1.26wmf12/includes/deferred/LinksUpdate.php(146): Hooks::run()
#5 /srv/mediawiki/php-1.26wmf12/includes/deferred/DataUpdate.php(101): LinksUpdate->doUpdate()
#6 /srv/mediawiki/php-1.26wmf12/includes/jobqueue/jobs/RefreshLinksJob.php(199): DataUpdate::runUpdates()
#7 /srv/mediawiki/php-1.26wmf12/includes/jobqueue/jobs/RefreshLinksJob.php(99): RefreshLinksJob->runForTitle()
#8 /srv/mediawiki/php-1.26wmf12/includes/jobqueue/JobRunner.php(183): RefreshLinksJob->run()
#9 /srv/mediawiki/rpc/RunJobs.php(42): JobRunner->run()
#10 {main} {"private":false}

Happening quite often, but almost only on ruwikisource right now:

hoo@fluorine:/a/mw-log$ grep -c 'Wikibase\\Client\\Usage\\UsageTrackerException from line 153' exception.log 
509
hoo@fluorine:/a/mw-log$ grep 'Wikibase\\Client\\Usage\\UsageTrackerException from line 153' exception.log | grep -oP ' \w+wiki\w* ' | sort | uniq -c
      1  cewiki 
    504  ruwikisource 
      4  ukwiki

Event Timeline

hoo raised the priority of this task from to High.
hoo updated the task description. (Show Details)
hoo added subscribers: hoo, daniel.
hoo added a project: DBA.
hoo set Security to None.

This is still a problem:

hoo@fluorine:/a/mw-log$ zgrep -c UsageTrackerException archive/exception.log-2015080*
archive/exception.log-20150801.gz:10
archive/exception.log-20150802.gz:2
archive/exception.log-20150803.gz:0
archive/exception.log-20150804.gz:40
archive/exception.log-20150805.gz:2
archive/exception.log-20150806.gz:2
Lydia_Pintscher renamed this task from Deadlock in EntityUsageTable::addUsages to [Bug] Deadlock in EntityUsageTable::addUsages.Aug 14 2015, 11:22 AM
Lydia_Pintscher moved this task from incoming to ready to go on the Wikidata board.

somewhat a duplicate of T107319 and think is resolved