Page MenuHomePhabricator

mediawiki_job_update_special_pages crashes with Error: Class 'Wikimedia\Rdbms\SubQuery' not found
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error

mediawiki_job_update_special_pages crashes on multiple sections with the following error

message
[8489dc6219d957a20272c86b] [no req]   Error: Class 'Wikimedia\Rdbms\SubQuery' not found
trace
May 15 10:10:22 mwmaint1002 mediawiki_job_update_special_pages_s5[21728]: ValidationStatistics           [callback] [8489dc6219d957a20272c86b] [no req]   Error: Class 'Wikimedia\Rdbms\SubQuery' not found
May 15 10:10:22 mwmaint1002 mediawiki_job_update_special_pages_s5[21728]: Backtrace:
May 15 10:10:22 mwmaint1002 mediawiki_job_update_special_pages_s5[21728]: from /srv/mediawiki/php-1.43.0-wmf.4/extensions/FlaggedRevs/includes/backend/FlaggedRevsStats.php(424)
May 15 10:10:22 mwmaint1002 mediawiki_job_update_special_pages_s5[21728]: #0 /srv/mediawiki/php-1.43.0-wmf.4/extensions/FlaggedRevs/includes/backend/FlaggedRevsStats.php(99): FlaggedRevsStats::getEditReviewTimes(MemcachedPeclBagOStuff, string)
May 15 10:10:22 mwmaint1002 mediawiki_job_update_special_pages_s5[21728]: #1 /srv/mediawiki/php-1.43.0-wmf.4/maintenance/updateSpecialPages.php(163): FlaggedRevsStats::updateCache(Wikimedia\Rdbms\DBConnRef)
May 15 10:10:22 mwmaint1002 mediawiki_job_update_special_pages_s5[21728]: #2 /srv/mediawiki/php-1.43.0-wmf.4/maintenance/updateSpecialPages.php(50): UpdateSpecialPages->doSpecialPageCacheUpdates(Wikimedia\Rdbms\DBConnRef)
May 15 10:10:22 mwmaint1002 mediawiki_job_update_special_pages_s5[21728]: #3 /srv/mediawiki/php-1.43.0-wmf.4/maintenance/includes/MaintenanceRunner.php(696): UpdateSpecialPages->execute()
May 15 10:10:22 mwmaint1002 mediawiki_job_update_special_pages_s5[21728]: #4 /srv/mediawiki/php-1.43.0-wmf.4/maintenance/run.php(51): MediaWiki\Maintenance\MaintenanceRunner->run()
May 15 10:10:22 mwmaint1002 mediawiki_job_update_special_pages_s5[21728]: #5 /srv/mediawiki/multiversion/MWScript.php(158): require_once(string)
May 15 10:10:22 mwmaint1002 mediawiki_job_update_special_pages_s5[21728]: #6 {main}
Impact

Most of the impacted sections wikis don't have their special QueryPages updated
Sections:

  • s2 (crashes on eowiki)
  • s3 (crashes on alswiki)
  • s5 (crashes on dewiki)
  • s6 (crashes on ruwiki)
  • s7 (crashes on arwiki)
Notes

Event Timeline

Clement_Goubert created this task.
Clement_Goubert renamed this task from mediawiki_job_update_special_pages_s5 crashes with Error: Class 'Wikimedia\Rdbms\SubQuery' not found to mediawiki_job_update_special_pages crashes with Error: Class 'Wikimedia\Rdbms\SubQuery' not found.Wed, May 15, 10:24 AM
Clement_Goubert updated the task description. (Show Details)

Change #1031831 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/FlaggedRevs@master] Fix capitalization of Subquery

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

Change #1031483 had a related patch set uploaded (by Zabe; author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/FlaggedRevs@wmf/1.43.0-wmf.5] Fix capitalization of Subquery

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

Change #1031484 had a related patch set uploaded (by Zabe; author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/FlaggedRevs@wmf/1.43.0-wmf.4] Fix capitalization of Subquery

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

Change #1031831 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@master] Fix capitalization of Subquery

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

Change #1031484 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@wmf/1.43.0-wmf.4] Fix capitalization of Subquery

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

Change #1031483 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@wmf/1.43.0-wmf.5] Fix capitalization of Subquery

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

Mentioned in SAL (#wikimedia-operations) [2024-05-15T10:50:40Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 Started scap: Backport for [[gerrit:1031484|Fix capitalization of Subquery (T364974)]], [[gerrit:1031483|Fix capitalization of Subquery (T364974)]]

Mentioned in SAL (#wikimedia-operations) [2024-05-15T10:53:21Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 zabe and lucaswerkmeister-wmde: Backport for [[gerrit:1031484|Fix capitalization of Subquery (T364974)]], [[gerrit:1031483|Fix capitalization of Subquery (T364974)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Hm, now it fails with a different error on mwdebug:

lucaswerkmeister-wmde@mwdebug2002:~$ mwscript updateSpecialPages dewiki --only ValidationStatistics # test T364974
ValidationStatistics           [callback] Wikimedia\Rdbms\DBQueryError from line 1203 of /srv/mediawiki/php-1.43.0-wmf.4/includes/libs/rdbms/database/Database.php: Error 1054: Unknown column 'Array' in 'where clause'
Function: FlaggedRevsStats::getEditReviewTimes
Query: SELECT  rev_timestamp AS `rt`,(SELECT  MIN(fr_timestamp)  FROM `flaggedrevs`    WHERE (fr_page_id = rev_page) AND (fr_rev_timestamp >= rev_timestamp)  ) AS `nft`  FROM `revision` JOIN `actor` `actor_rev_user` ON ((actor_rev_user.actor_id = rev_actor))   WHERE (actor_rev_user.actor_user IS NULL) AND (Array) AND ((rev_id % 27) = 0) AND (rev_parent_id > 0) AND (EXISTS (SELECT  *  FROM `flaggedrevs`    WHERE (fr_page_id = rev_page) AND (fr_rev_timestamp < rev_timestamp) AND (fr_rev_id < rev_id) AND (fr_timestamp < rev_timestamp)  ))

#0 /srv/mediawiki/php-1.43.0-wmf.4/includes/libs/rdbms/database/Database.php(1187): Wikimedia\Rdbms\Database->getQueryException('Unknown column ...', 1054, 'SELECT  rev_tim...', 'FlaggedRevsStat...')
#1 /srv/mediawiki/php-1.43.0-wmf.4/includes/libs/rdbms/database/Database.php(1161): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('Unknown column ...', 1054, 'SELECT  rev_tim...', 'FlaggedRevsStat...')
#2 /srv/mediawiki/php-1.43.0-wmf.4/includes/libs/rdbms/database/Database.php(652): Wikimedia\Rdbms\Database->reportQueryError('Unknown column ...', 1054, 'SELECT  rev_tim...', 'FlaggedRevsStat...', false)
#3 /srv/mediawiki/php-1.43.0-wmf.4/includes/libs/rdbms/database/Database.php(1350): Wikimedia\Rdbms\Database->query(Object(Wikimedia\Rdbms\Query), 'FlaggedRevsStat...')
#4 /srv/mediawiki/php-1.43.0-wmf.4/includes/libs/rdbms/database/DBConnRef.php(126): Wikimedia\Rdbms\Database->select(Array, Array, Array, 'FlaggedRevsStat...', Array, Array)
#5 /srv/mediawiki/php-1.43.0-wmf.4/includes/libs/rdbms/database/DBConnRef.php(358): Wikimedia\Rdbms\DBConnRef->__call('select', Array)
#6 /srv/mediawiki/php-1.43.0-wmf.4/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(730): Wikimedia\Rdbms\DBConnRef->select(Array, Array, Array, 'FlaggedRevsStat...', Array, Array)
#7 /srv/mediawiki/php-1.43.0-wmf.4/extensions/FlaggedRevs/includes/backend/FlaggedRevsStats.php(457): Wikimedia\Rdbms\SelectQueryBuilder->fetchResultSet()
#8 /srv/mediawiki/php-1.43.0-wmf.4/extensions/FlaggedRevs/includes/backend/FlaggedRevsStats.php(99): FlaggedRevsStats::getEditReviewTimes(Object(MemcachedPeclBagOStuff), 'anons')
#9 /srv/mediawiki/php-1.43.0-wmf.4/maintenance/updateSpecialPages.php(163): FlaggedRevsStats::updateCache(Object(Wikimedia\Rdbms\DBConnRef))
#10 /srv/mediawiki/php-1.43.0-wmf.4/maintenance/updateSpecialPages.php(50): UpdateSpecialPages->doSpecialPageCacheUpdates(Object(Wikimedia\Rdbms\DBConnRef))
#11 /srv/mediawiki/php-1.43.0-wmf.4/maintenance/includes/MaintenanceRunner.php(696): UpdateSpecialPages->execute()
#12 /srv/mediawiki/php-1.43.0-wmf.4/maintenance/run.php(51): MediaWiki\Maintenance\MaintenanceRunner->run()
#13 /srv/mediawiki/multiversion/MWScript.php(158): require_once('/srv/mediawiki/...')
#14 {main}

“Unknown column 'Array'” sounds like some broken array-to-string conversion happened somewhere.

Change #1031841 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/FlaggedRevs@master] backend: Fix Unknown column 'Array' in 'where clause'

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

I’ll see if manually applying this fix on mwdebug works:

diff --git a/includes/backend/FlaggedRevsStats.php b/includes/backend/FlaggedRevsStats.php
index 16b87b0ea6..ae5c534fc4 100644
--- a/includes/backend/FlaggedRevsStats.php
+++ b/includes/backend/FlaggedRevsStats.php
@@ -436,7 +436,7 @@ static function () use ( $dbr, $fname, $userCondition, $timeCondition, $actorQue
 			->tables( $actorQuery['tables'] )
 			->where( [
 				$userCondition,
-				$timeCondition,
+				...$timeCondition,
 				"(rev_id % $mod) = 0",
 				$dbr->expr( 'rev_parent_id', '>', 0 ), // optimize (exclude new pages)
 				'EXISTS (' . $dbr->newSelectQueryBuilder()

Now it worked:

lucaswerkmeister-wmde@mwdebug2002:~$ mwscript updateSpecialPages dewiki --only ValidationStatistics # test T364974
ValidationStatistics           [callback] completed in 1m 8.11s
Ancientpages                   [QueryPage] disabled
Deadendpages                   [QueryPage] disabled
Mostlinked                     [QueryPage] disabled
Mostrevisions                  [QueryPage] disabled
Fewestrevisions                [QueryPage] disabled
Wantedpages                    [QueryPage] disabled

Change #1031485 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Majavah):

[mediawiki/extensions/FlaggedRevs@wmf/1.43.0-wmf.4] backend: Fix Unknown column 'Array' in 'where clause'

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

Change #1031846 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Majavah):

[mediawiki/extensions/FlaggedRevs@wmf/1.43.0-wmf.5] backend: Fix Unknown column 'Array' in 'where clause'

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

Change #1031485 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@wmf/1.43.0-wmf.4] backend: Fix Unknown column 'Array' in 'where clause'

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

Change #1031846 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@wmf/1.43.0-wmf.5] backend: Fix Unknown column 'Array' in 'where clause'

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

Mentioned in SAL (#wikimedia-operations) [2024-05-15T11:13:13Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 Started scap: Backport for [[gerrit:1031485|backend: Fix Unknown column 'Array' in 'where clause' (T364974)]], [[gerrit:1031846|backend: Fix Unknown column 'Array' in 'where clause' (T364974)]]

Mentioned in SAL (#wikimedia-operations) [2024-05-15T11:15:53Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 lucaswerkmeister-wmde: Backport for [[gerrit:1031485|backend: Fix Unknown column 'Array' in 'where clause' (T364974)]], [[gerrit:1031846|backend: Fix Unknown column 'Array' in 'where clause' (T364974)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Change #1031841 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@master] backend: Fix Unknown column 'Array' in 'where clause'

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

Mentioned in SAL (#wikimedia-operations) [2024-05-15T11:28:49Z] <logmsgbot> lucaswerkmeister-wmde@deploy1002 Finished scap: Backport for [[gerrit:1031485|backend: Fix Unknown column 'Array' in 'where clause' (T364974)]], [[gerrit:1031846|backend: Fix Unknown column 'Array' in 'where clause' (T364974)]] (duration: 15m 36s)

I relaunched mediawiki_job_update_special_pages_s5 and it passed dewiki (where it previously crashed), so I'm inclined to call this resolved. The rest of the update jobs will run tomorrow morning at their scheduled time of 05:00UTC.

I'll check the status of the other update jobs during the day and reopen if there is still an issue.