Page MenuHomePhabricator

Wikimedia\Rdbms\DBQueryError: Error 1213: Deadlock found when trying to get lock; try restarting transactionFunction: MediaWiki\Extension\DiscussionTools\ThreadItemStore::insertThreadItemsQuery: INSERT INTO `discussiontools_i
Closed, DuplicatePublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   Wikimedia\Rdbms\DBQueryError: Error 1213: Deadlock found when trying to get lock; try restarting transaction
Function: MediaWiki\Extension\DiscussionTools\ThreadItemStore::insertThreadItems
Query: INSERT INTO `discussiontools_i
error.stack_trace
from /srv/mediawiki/php-1.41.0-wmf.3/includes/libs/rdbms/database/Database.php(1523)
#0 /srv/mediawiki/php-1.41.0-wmf.3/includes/libs/rdbms/database/Database.php(1507): Wikimedia\Rdbms\Database->getQueryException(string, integer, string, string)
#1 /srv/mediawiki/php-1.41.0-wmf.3/includes/libs/rdbms/database/Database.php(1481): Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, integer, string, string)
#2 /srv/mediawiki/php-1.41.0-wmf.3/includes/libs/rdbms/database/Database.php(854): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean)
#3 /srv/mediawiki/php-1.41.0-wmf.3/includes/libs/rdbms/database/DatabaseMysqlBase.php(587): Wikimedia\Rdbms\Database->query(string, string, integer)
#4 /srv/mediawiki/php-1.41.0-wmf.3/includes/libs/rdbms/database/Database.php(1885): Wikimedia\Rdbms\DatabaseMysqlBase->doUpsert(string, array, array, array, string)
#5 /srv/mediawiki/php-1.41.0-wmf.3/includes/libs/rdbms/database/DBConnRef.php(119): Wikimedia\Rdbms\Database->upsert(string, array, string, array, string)
#6 /srv/mediawiki/php-1.41.0-wmf.3/includes/libs/rdbms/database/DBConnRef.php(551): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#7 /srv/mediawiki/php-1.41.0-wmf.3/extensions/DiscussionTools/includes/ThreadItemStore.php(414): Wikimedia\Rdbms\DBConnRef->upsert(string, array, string, array, string)
#8 /srv/mediawiki/php-1.41.0-wmf.3/extensions/DiscussionTools/includes/Hooks/DataUpdatesHooks.php(48): MediaWiki\Extension\DiscussionTools\ThreadItemStore->insertThreadItems(MediaWiki\Revision\RevisionStoreRecord, MediaWiki\Extension\DiscussionTools\ContentThreadItemSet)
#9 /srv/mediawiki/php-1.41.0-wmf.3/includes/deferred/MWCallableUpdate.php(38): MediaWiki\Extension\DiscussionTools\Hooks\DataUpdatesHooks->MediaWiki\Extension\DiscussionTools\Hooks\{closure}()
#10 /srv/mediawiki/php-1.41.0-wmf.3/includes/deferred/DeferredUpdates.php(473): MWCallableUpdate->doUpdate()
#11 /srv/mediawiki/php-1.41.0-wmf.3/includes/deferred/RefreshSecondaryDataUpdate.php(103): DeferredUpdates::attemptUpdate(MWCallableUpdate, Wikimedia\Rdbms\LBFactoryMulti)
#12 /srv/mediawiki/php-1.41.0-wmf.3/includes/deferred/DeferredUpdates.php(473): RefreshSecondaryDataUpdate->doUpdate()
#13 /srv/mediawiki/php-1.41.0-wmf.3/includes/Storage/DerivedPageDataUpdater.php(1836): DeferredUpdates::attemptUpdate(RefreshSecondaryDataUpdate, Wikimedia\Rdbms\LBFactoryMulti)
#14 /srv/mediawiki/php-1.41.0-wmf.3/includes/page/WikiPage.php(2145): MediaWiki\Storage\DerivedPageDataUpdater->doSecondaryDataUpdates(array)
#15 /srv/mediawiki/php-1.41.0-wmf.3/includes/jobqueue/jobs/RefreshLinksJob.php(244): WikiPage->doSecondaryDataUpdates(array)
#16 /srv/mediawiki/php-1.41.0-wmf.3/includes/jobqueue/jobs/RefreshLinksJob.php(153): RefreshLinksJob->runForTitle(MediaWiki\Title\Title)
#17 /srv/mediawiki/php-1.41.0-wmf.3/extensions/EventBus/includes/JobExecutor.php(79): RefreshLinksJob->run()
#18 /srv/mediawiki/rpc/RunSingleJob.php(77): MediaWiki\Extension\EventBus\JobExecutor->execute(array)
#19 {main}
Impact
Notes

There are several such SQL failures with trace.id=bd4dbb35-f60e-48d6-bc68-9a69ba433f10

Details

Request URL
https://jobrunner.discovery.wmnet/rpc/RunSingleJob.php

Event Timeline

The query for reqId:%22bd4dbb35-f60e-48d6-bc68-9a69ba433f10 gives a lot of various messages and some parsoid slow parses.

The first log entry for that reqId is:

Apr 6, 2023 @ 08:17:11.331  dewiki Recursive link purge enqueued for Vorlage:Archiv

That looks like a template used on archived talk page, and the purge would have been triggered by https://de.wikipedia.org/w/index.php?title=Vorlage%3AArchiv&diff=prev&oldid=232529491&diffmode=source I guess that triggers a reparse of pages including the template which in turns trigger the fault for DiscussionTools?