Page MenuHomePhabricator

Wikimedia\Rdbms\DBQueryError: Error 1146: Table 'testwikidatawiki.globaljsonlinks' doesn't existFunction: JsonConfig\GlobalJsonLinks::getLinksFromPageQuery: SELECT gjlt_namespace,gjlt_title FROM `globaljsonlinks` JOIN `glob
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   Wikimedia\Rdbms\DBQueryError: Error 1146: Table 'testwikidatawiki.globaljsonlinks' doesn't exist
Function: JsonConfig\GlobalJsonLinks::getLinksFromPage
Query: SELECT  gjlt_namespace,gjlt_title  FROM `globaljsonlinks` JOIN `glob
FrameLocationCall
from/srv/mediawiki/php-1.44.0-wmf.2/includes/libs/rdbms/database/Database.php(1195)
#0/srv/mediawiki/php-1.44.0-wmf.2/includes/libs/rdbms/database/Database.php(1179)Wikimedia\Rdbms\Database->getQueryException(string, int, string, string)
#1/srv/mediawiki/php-1.44.0-wmf.2/includes/libs/rdbms/database/Database.php(1153)Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, int, string, string)
#2/srv/mediawiki/php-1.44.0-wmf.2/includes/libs/rdbms/database/Database.php(647)Wikimedia\Rdbms\Database->reportQueryError(string, int, string, string, bool)
#3/srv/mediawiki/php-1.44.0-wmf.2/includes/libs/rdbms/database/Database.php(1342)Wikimedia\Rdbms\Database->query(Wikimedia\Rdbms\Query, string)
#4/srv/mediawiki/php-1.44.0-wmf.2/includes/libs/rdbms/database/DBConnRef.php(127)Wikimedia\Rdbms\Database->select(array, array, array, string, array, array)
#5/srv/mediawiki/php-1.44.0-wmf.2/includes/libs/rdbms/database/DBConnRef.php(351)Wikimedia\Rdbms\DBConnRef->__call(string, array)
#6/srv/mediawiki/php-1.44.0-wmf.2/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(745)Wikimedia\Rdbms\DBConnRef->select(array, array, array, string, array, array)
#7/srv/mediawiki/php-1.44.0-wmf.2/extensions/JsonConfig/includes/GlobalJsonLinks.php(338)Wikimedia\Rdbms\SelectQueryBuilder->fetchResultSet()
#8/srv/mediawiki/php-1.44.0-wmf.2/extensions/JsonConfig/includes/GlobalJsonLinks.php(366)JsonConfig\GlobalJsonLinks->getLinksFromPage(MediaWiki\Title\TitleValue)
#9/srv/mediawiki/php-1.44.0-wmf.2/extensions/JsonConfig/includes/JCHooks.php(556)JsonConfig\GlobalJsonLinks->updateJsonLinks(MediaWiki\Deferred\LinksUpdate\LinksUpdate)
#10/srv/mediawiki/php-1.44.0-wmf.2/includes/HookContainer/HookContainer.php(159)JsonConfig\JCHooks->onLinksUpdateComplete(MediaWiki\Deferred\LinksUpdate\LinksUpdate, int)
#11/srv/mediawiki/php-1.44.0-wmf.2/includes/HookContainer/HookRunner.php(2395)MediaWiki\HookContainer\HookContainer->run(string, array)
#12/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/LinksUpdate/LinksUpdate.php(195)MediaWiki\HookContainer\HookRunner->onLinksUpdateComplete(MediaWiki\Deferred\LinksUpdate\LinksUpdate, int)
#13/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/AutoCommitUpdate.php(47)MediaWiki\Deferred\LinksUpdate\LinksUpdate->MediaWiki\Deferred\LinksUpdate\{closure}(Wikimedia\Rdbms\DBConnRef, string)
#14/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/DeferredUpdates.php(460)MediaWiki\Deferred\AutoCommitUpdate->doUpdate()
#15/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/DeferredUpdates.php(204)MediaWiki\Deferred\DeferredUpdates::attemptUpdate(MediaWiki\Deferred\AutoCommitUpdate)
#16/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/DeferredUpdates.php(302)MediaWiki\Deferred\DeferredUpdates::run(MediaWiki\Deferred\AutoCommitUpdate)
#17/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/DeferredUpdatesScope.php(243)MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}(MediaWiki\Deferred\AutoCommitUpdate, int)
#18/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/DeferredUpdatesScope.php(172)MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue(int, int, Closure)
#19/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/DeferredUpdates.php(305)MediaWiki\Deferred\DeferredUpdatesScope->processUpdates(int, Closure)
#20/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/DeferredUpdatesScope.php(240)MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}(MediaWiki\Deferred\RefreshSecondaryDataUpdate, int)
#21/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/DeferredUpdatesScope.php(172)MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue(int, int, Closure)
#22/srv/mediawiki/php-1.44.0-wmf.2/includes/deferred/DeferredUpdates.php(310)MediaWiki\Deferred\DeferredUpdatesScope->processUpdates(int, Closure)
#23/srv/mediawiki/php-1.44.0-wmf.2/includes/MediaWikiEntryPoint.php(674)MediaWiki\Deferred\DeferredUpdates::doUpdates()
#24/srv/mediawiki/php-1.44.0-wmf.2/includes/MediaWikiEntryPoint.php(496)MediaWiki\MediaWikiEntryPoint->restInPeace()
#25/srv/mediawiki/php-1.44.0-wmf.2/includes/MediaWikiEntryPoint.php(454)MediaWiki\MediaWikiEntryPoint->doPostOutputShutdown()
#26/srv/mediawiki/php-1.44.0-wmf.2/includes/MediaWikiEntryPoint.php(209)MediaWiki\MediaWikiEntryPoint->postOutputShutdown()
#27/srv/mediawiki/php-1.44.0-wmf.2/api.php(44)MediaWiki\MediaWikiEntryPoint->run()
#28/srv/mediawiki/w/api.php(3)require(string)
#29{main}
Notes

Constant stream of these errors from multiple wikis after deploying 1.44.0-wmf.2 to group0. This change introduced the GlobalJsonLinks.php class seen in the trace.

Another example from mediawiki and from test wiki

Details

Request URL
https://test.wikidata.org/w/api.php
Related Changes in Gerrit:

Event Timeline

jnuche triaged this task as Unbreak Now! priority.

Simplest fix is to just create the table.

It seems that virtual-globaljsonlinks is not defined in mediawiki-config, so I'd say that is the first step (given that this is a shared table and shouldn't be on the local wiki). Then the table can be created on the shared DB.

Change #1087455 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[operations/mediawiki-config@master] JsonConfig: Disable TrackGlobalJsonLinks to avoid missing table errors

https://gerrit.wikimedia.org/r/1087455

Change #1087455 merged by jenkins-bot:

[operations/mediawiki-config@master] JsonConfig: Disable TrackGlobalJsonLinks to avoid missing table errors

https://gerrit.wikimedia.org/r/1087455

Mentioned in SAL (#wikimedia-operations) [2024-11-05T14:11:28Z] <tgr@deploy2002> Started scap sync-world: Backport for [[gerrit:1087455|JsonConfig: Disable TrackGlobalJsonLinks to avoid missing table errors (T379067)]]

Mentioned in SAL (#wikimedia-operations) [2024-11-05T14:16:08Z] <tgr@deploy2002> tgr: Backport for [[gerrit:1087455|JsonConfig: Disable TrackGlobalJsonLinks to avoid missing table errors (T379067)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-11-05T14:28:52Z] <tgr@deploy2002> Finished scap sync-world: Backport for [[gerrit:1087455|JsonConfig: Disable TrackGlobalJsonLinks to avoid missing table errors (T379067)]] (duration: 17m 24s)

Tgr claimed this task.