Page MenuHomePhabricator

Running extensions/Babel/maintenance/migrateConfigToCommunity.php with BabelUseCommunityConfiguration=false results in a fatal error
Closed, ResolvedPublic

Description

While preparing for T374348, I discovered this:

[urbanecm@deploy2002 ~]$ mwscript-k8s -f extensions/Babel/maintenance/migrateConfigToCommunity.php -- --wiki=testwiki
⏳ Starting extensions/Babel/maintenance/migrateConfigToCommunity.php on Kubernetes as job mw-script.codfw.lpzs7reg ...
⏳ Waiting for the container to start...
🚀 Job is running.
📜 Streaming logs:
InvalidArgumentException from line 102 of /srv/mediawiki/php-1.44.0-wmf.12/extensions/CommunityConfiguration/src/Provider/ConfigurationProviderFactory.php: Provider Babel is not supported
#0 /srv/mediawiki/php-1.44.0-wmf.12/extensions/CommunityConfiguration/src/Provider/ConfigurationProviderFactory.php(115): MediaWiki\Extension\CommunityConfiguration\Provider\ConfigurationProviderFactory->getProviderSpec('Babel')
#1 /srv/mediawiki/php-1.44.0-wmf.12/extensions/CommunityConfiguration/src/Provider/ConfigurationProviderFactory.php(165): MediaWiki\Extension\CommunityConfiguration\Provider\ConfigurationProviderFactory->constructProvider('Babel')
#2 /srv/mediawiki/php-1.44.0-wmf.12/extensions/Babel/maintenance/migrateConfigToCommunity.php(40): MediaWiki\Extension\CommunityConfiguration\Provider\ConfigurationProviderFactory->newProvider('Babel')
#3 /srv/mediawiki/php-1.44.0-wmf.12/extensions/Babel/maintenance/migrateConfigToCommunity.php(44): MediaWiki\Babel\Maintenance\MigrateConfigToCommunity->initServices()
#4 /srv/mediawiki/php-1.44.0-wmf.12/maintenance/includes/LoggedUpdateMaintenance.php(51): MediaWiki\Babel\Maintenance\MigrateConfigToCommunity->doDBUpdates()
#5 /srv/mediawiki/php-1.44.0-wmf.12/maintenance/includes/MaintenanceRunner.php(703): MediaWiki\Maintenance\LoggedUpdateMaintenance->execute()
#6 /srv/mediawiki/php-1.44.0-wmf.12/maintenance/run.php(51): MediaWiki\Maintenance\MaintenanceRunner->run()
#7 /srv/mediawiki/multiversion/MWScript.php(156): require_once('/srv/mediawiki/...')
#8 {main}
[urbanecm@deploy2002 ~]$

This happened because on testwiki, wgBabelUseCommunityConfiguration is set to false. The script should check if Babel provider is enabled, and fail gracefully if it is not.

Event Timeline

Change #1112067 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/Babel@master] migrateConfigToCommunity: Fail gracefully if CommunityConfiguration is not enabled

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

Change #1112067 merged by jenkins-bot:

[mediawiki/extensions/Babel@master] migrateConfigToCommunity: Fail gracefully if CommunityConfiguration is not enabled

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