Page MenuHomePhabricator

wikibase-client-docker CI failing: LogicException: Domain 'repo' is not recognized.
Closed, ResolvedPublic3 Estimated Story Points

Description

Seen in the last three builds:

1) Wikibase\Client\Tests\Integration\GlobalStateFactoryMethodsResourceTest::testHookHandler with data set #21 ('UpdateRepo')
LogicException: Domain 'repo' is not recognized.

/workspace/src/includes/jobqueue/JobQueueGroupFactory.php:144
/workspace/src/extensions/Wikibase/client/includes/Hooks/UpdateRepoHookHandler.php:87
/workspace/src/vendor/wikimedia/object-factory/src/ObjectFactory.php:227
/workspace/src/vendor/wikimedia/object-factory/src/ObjectFactory.php:149
/workspace/src/tests/phpunit/integration/includes/ExtensionJsonTestBase.php:100
/workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:533
=== Logs generated by test case
[objectcache] [debug] MainWANObjectCache using store {class} {"class":"HashBagOStuff"}
[objectcache] [debug] MainWANObjectCache using store {class} {"class":"HashBagOStuff"}
[Wikibase] [debug] {method}: setting {settingName} was given as a closure, resolve it to {logValue} {"method":"Wikibase\\Lib\\SettingsArray::getSetting","settingName":"thisWikiIsTheRepo","logValue":"false"}
[Wikibase] [debug] {method}: setting {settingName} was given as a closure, resolve it to {logValue} {"method":"Wikibase\\Lib\\SettingsArray::getSetting","settingName":"itemAndPropertySourceName","logValue":"'local'"}
[localisation] [debug] LocalisationCache using store LCStoreNull []
[Wikibase] [debug] {method}: setting {settingName} was given as a closure, resolve it to {logValue} {"method":"Wikibase\\Lib\\SettingsArray::getSetting","settingName":"siteGlobalID","logValue":"'wikidb'"}
===

Event Timeline

Yeah, apparently one part of that change was that JobQueueGroupFactory now directly throws a LogicException about unknown domains, whereas previously this only happened later in JobQueueGroup::push(). The affected test would, as far as I can tell, only call JobQueueGroupFactory::makeJobQueueGroup() but then not do anything else, so that explains why it was fine with the unknown domain before.

This build, for this Wikibase no-op (PS2) + this MediaWiki core revert (PS1), worked. Let’s see if we can revert only part of the core change.

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

[mediawiki/extensions/Wikibase@master] UpdateRepoHookHandler: Get job queue group lazily

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

Let’s see if we can revert only part of the core change.

@Michael suggested to instead move the $jobQueueGroupFactory->makeJobQueueGroup() to a later point in our hook handler (where it wouldn’t be reached during the failing test), let’s see if that works out.

Change 944932 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] UpdateRepoHookHandler: Get job queue group lazily

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

Lucas_Werkmeister_WMDE set the point value for this task to 3.

Done, I think.