Page MenuHomePhabricator

Some wikis have the SecurePoll extension installed, but not its tables
Closed, ResolvedPublic

Description

Found while running T277079: Clean up not-blocked property from securepoll_properties:

jforrester@mwmaint1002:/srv/mediawiki$ foreachwiki extensions/SecurePoll/cli/updateNotBlockedKey.php
-----------------------------------------------------------------
mnwwiktionary
-----------------------------------------------------------------
Wikimedia\Rdbms\DBQueryError from line 1759 of /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/Database.php: Error 1146: Table 'mnwwiktionary.securepoll_properties' doesn't exist (db1100)
Function: UpdateNotBlockedKey::doDBUpdates
Query: SELECT  pr_entity  FROM `securepoll_properties`    WHERE pr_key = 'not-blocked'

#0 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/Database.php(1743): Wikimedia\Rdbms\Database->getQueryException('Table 'mnwwikti...', 1146, 'SELECT  pr_enti...', 'UpdateNotBlocke...')
#1 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/Database.php(1718): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('Table 'mnwwikti...', 1146, 'SELECT  pr_enti...', 'UpdateNotBlocke...')
#2 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/Database.php(1282): Wikimedia\Rdbms\Database->reportQueryError('Table 'mnwwikti...', 1146, 'SELECT  pr_enti...', 'UpdateNotBlocke...', false)
#3 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/Database.php(1969): Wikimedia\Rdbms\Database->query('SELECT  pr_enti...', 'UpdateNotBlocke...', 32)
#4 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->select('securepoll_prop...', 'pr_entity', Array, 'UpdateNotBlocke...')
#5 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/DBConnRef.php(317): Wikimedia\Rdbms\DBConnRef->__call('select', Array)
#6 /srv/mediawiki/php-1.37.0-wmf.7/extensions/SecurePoll/cli/updateNotBlockedKey.php(35): Wikimedia\Rdbms\DBConnRef->select('securepoll_prop...', 'pr_entity', Array, 'UpdateNotBlocke...')
#7 /srv/mediawiki/php-1.37.0-wmf.7/maintenance/includes/LoggedUpdateMaintenance.php(45): UpdateNotBlockedKey->doDBUpdates()
#8 /srv/mediawiki/php-1.37.0-wmf.7/maintenance/doMaintenance.php(108): LoggedUpdateMaintenance->execute()
#9 /srv/mediawiki/php-1.37.0-wmf.7/extensions/SecurePoll/cli/updateNotBlockedKey.php(65): require_once('/srv/mediawiki/...')
#10 /srv/mediawiki/multiversion/MWScript.php(116): require_once('/srv/mediawiki/...')
#11 {main}

-----------------------------------------------------------------
taywiki
-----------------------------------------------------------------
Wikimedia\Rdbms\DBQueryError from line 1759 of /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php: Error 1146: Table 'taywiki.securepoll_properties' doesn't exist (db1100)
Function: UpdateNotBlockedKey::doDBUpdates
Query: SELECT  pr_entity  FROM `securepoll_properties`    WHERE pr_key = 'not-blocked'

#0 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(1743): Wikimedia\Rdbms\Database->getQueryException('Table 'taywiki....', 1146, 'SELECT  pr_enti...', 'UpdateNotBlocke...')
#1 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(1718): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('Table 'taywiki....', 1146, 'SELECT  pr_enti...', 'UpdateNotBlocke...')
#2 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(1282): Wikimedia\Rdbms\Database->reportQueryError('Table 'taywiki....', 1146, 'SELECT  pr_enti...', 'UpdateNotBlocke...', false)
#3 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(1969): Wikimedia\Rdbms\Database->query('SELECT  pr_enti...', 'UpdateNotBlocke...', 32)
#4 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->select('securepoll_prop...', 'pr_entity', Array, 'UpdateNotBlocke...')
#5 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/DBConnRef.php(317): Wikimedia\Rdbms\DBConnRef->__call('select', Array)
#6 /srv/mediawiki/php-1.37.0-wmf.6/extensions/SecurePoll/cli/updateNotBlockedKey.php(35): Wikimedia\Rdbms\DBConnRef->select('securepoll_prop...', 'pr_entity', Array, 'UpdateNotBlocke...')
#7 /srv/mediawiki/php-1.37.0-wmf.6/maintenance/includes/LoggedUpdateMaintenance.php(45): UpdateNotBlockedKey->doDBUpdates()
#8 /srv/mediawiki/php-1.37.0-wmf.6/maintenance/doMaintenance.php(108): LoggedUpdateMaintenance->execute()
#9 /srv/mediawiki/php-1.37.0-wmf.6/extensions/SecurePoll/cli/updateNotBlockedKey.php(65): require_once('/srv/mediawiki/...')
#10 /srv/mediawiki/multiversion/MWScript.php(116): require_once('/srv/mediawiki/...')
#11 {main}

-----------------------------------------------------------------
trvwiki
-----------------------------------------------------------------
Wikimedia\Rdbms\DBQueryError from line 1759 of /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php: Error 1146: Table 'trvwiki.securepoll_properties' doesn't exist (db1100)
Function: UpdateNotBlockedKey::doDBUpdates
Query: SELECT  pr_entity  FROM `securepoll_properties`    WHERE pr_key = 'not-blocked'

#0 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(1743): Wikimedia\Rdbms\Database->getQueryException('Table 'trvwiki....', 1146, 'SELECT  pr_enti...', 'UpdateNotBlocke...')
#1 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(1718): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('Table 'trvwiki....', 1146, 'SELECT  pr_enti...', 'UpdateNotBlocke...')
#2 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(1282): Wikimedia\Rdbms\Database->reportQueryError('Table 'trvwiki....', 1146, 'SELECT  pr_enti...', 'UpdateNotBlocke...', false)
#3 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(1969): Wikimedia\Rdbms\Database->query('SELECT  pr_enti...', 'UpdateNotBlocke...', 32)
#4 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->select('securepoll_prop...', 'pr_entity', Array, 'UpdateNotBlocke...')
#5 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/DBConnRef.php(317): Wikimedia\Rdbms\DBConnRef->__call('select', Array)
#6 /srv/mediawiki/php-1.37.0-wmf.6/extensions/SecurePoll/cli/updateNotBlockedKey.php(35): Wikimedia\Rdbms\DBConnRef->select('securepoll_prop...', 'pr_entity', Array, 'UpdateNotBlocke...')
#7 /srv/mediawiki/php-1.37.0-wmf.6/maintenance/includes/LoggedUpdateMaintenance.php(45): UpdateNotBlockedKey->doDBUpdates()
#8 /srv/mediawiki/php-1.37.0-wmf.6/maintenance/doMaintenance.php(108): LoggedUpdateMaintenance->execute()
#9 /srv/mediawiki/php-1.37.0-wmf.6/extensions/SecurePoll/cli/updateNotBlockedKey.php(65): require_once('/srv/mediawiki/...')
#10 /srv/mediawiki/multiversion/MWScript.php(116): require_once('/srv/mediawiki/...')
#11 {main}

Event Timeline

Ah, no, this was almost certainly caused by rESPOc391765899bf: Use abstract schema for some SecurePoll tables for T268572: Convert SecurePoll to AbstractSchema; the entry in addWiki should have been updated from extensions/SecurePoll/SecurePoll.sql to extensions/SecurePoll/sql/mysql/tables.sql. Oops!

Change 696601 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/WikimediaMaintenance@master] Follow-up c391765899bf: Update path to SecurePoll SQL file

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

Mentioned in SAL (#wikimedia-operations) [2021-05-27T19:53:04Z] <James_F> Manually create missing SecurePoll DB tables on mnwwiktionary, taywiki, and trvwiki for T283844

Tables manually created without issue. The WikimediaMaintenance script patch needs updating to avoid this recurring on the next wiki created.

Change 696601 merged by jenkins-bot:

[mediawiki/extensions/WikimediaMaintenance@master] Follow-up c391765899bf: Add path to new primary SecurePoll SQL file

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