Page MenuHomePhabricator

CirrusSearch\Profile\SearchProfileException: Cannot load a profile type rescore_function_chains: growth_underlinked_chain not found
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   CirrusSearch\Profile\SearchProfileException: Cannot load a profile type rescore_function_chains: growth_underlinked_chain not found
error.stack_trace
from /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/Profile/SearchProfileService.php(244)
#0 /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/Search/Rescore/FunctionScoreChain.php(84): CirrusSearch\Profile\SearchProfileService->loadProfileByName(string, string)
#1 /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/Search/Rescore/RescoreBuilder.php(116): CirrusSearch\Search\Rescore\FunctionScoreChain->__construct(CirrusSearch\Search\SearchContext, string, array, CirrusSearch\CirrusSearchHookRunner)
#2 /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/Search/Rescore/RescoreBuilder.php(95): CirrusSearch\Search\Rescore\RescoreBuilder->buildRescoreQuery(array)
#3 /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/Search/SearchContext.php(529): CirrusSearch\Search\Rescore\RescoreBuilder->build()
#4 /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/Search/SearchRequestBuilder.php(100): CirrusSearch\Search\SearchContext->getRescore()
#5 /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/Searcher.php(526): CirrusSearch\Search\SearchRequestBuilder->build()
#6 /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/Searcher.php(338): CirrusSearch\Searcher->buildSearch()
#7 /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/Searcher.php(216): CirrusSearch\Searcher->searchTextInternal(string)
#8 /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/CirrusSearch.php(304): CirrusSearch\Searcher->search(CirrusSearch\Search\SearchQuery)
#9 /srv/mediawiki/php-1.41.0-wmf.19/extensions/CirrusSearch/includes/CirrusSearch.php(277): CirrusSearch\CirrusSearch->searchTextReal(CirrusSearch\Search\SearchQuery)
#10 /srv/mediawiki/php-1.41.0-wmf.19/includes/search/SearchEngine.php(97): CirrusSearch\CirrusSearch->doSearchText(string)
#11 /srv/mediawiki/php-1.41.0-wmf.19/includes/search/SearchEngine.php(189): SearchEngine->{closure}()
#12 /srv/mediawiki/php-1.41.0-wmf.19/includes/search/SearchEngine.php(98): SearchEngine->maybePaginate(Closure)
#13 /srv/mediawiki/php-1.41.0-wmf.19/extensions/GrowthExperiments/includes/NewcomerTasks/TaskSuggester/LocalSearchTaskSuggester.php(108): SearchEngine->searchText(string)
#14 /srv/mediawiki/php-1.41.0-wmf.19/extensions/GrowthExperiments/includes/NewcomerTasks/TaskSuggester/SearchTaskSuggester.php(196): GrowthExperiments\NewcomerTasks\TaskSuggester\LocalSearchTaskSuggester->search(GrowthExperiments\NewcomerTasks\TaskSuggester\SearchStrategy\SearchQuery, integer, integer, boolean)
#15 /srv/mediawiki/php-1.41.0-wmf.19/extensions/GrowthExperiments/includes/NewcomerTasks/TaskSuggester/SearchTaskSuggester.php(92): GrowthExperiments\NewcomerTasks\TaskSuggester\SearchTaskSuggester->doSuggest(NULL, User, GrowthExperiments\NewcomerTasks\Task\TaskSetFilters, integer, integer, array)
#16 /srv/mediawiki/php-1.41.0-wmf.19/extensions/GrowthExperiments/includes/NewcomerTasks/TaskSuggester/LocalSearchTaskSuggester.php(69): GrowthExperiments\NewcomerTasks\TaskSuggester\SearchTaskSuggester->suggest(User, GrowthExperiments\NewcomerTasks\Task\TaskSetFilters, integer, NULL, array)
#17 /srv/mediawiki/php-1.41.0-wmf.19/extensions/GrowthExperiments/includes/NewcomerTasks/TaskSuggester/CacheDecorator.php(148): GrowthExperiments\NewcomerTasks\TaskSuggester\LocalSearchTaskSuggester->suggest(User, GrowthExperiments\NewcomerTasks\Task\TaskSetFilters, integer, NULL, array)
#18 /srv/mediawiki/php-1.41.0-wmf.19/includes/libs/objectcache/wancache/WANObjectCache.php(1725): GrowthExperiments\NewcomerTasks\TaskSuggester\CacheDecorator->GrowthExperiments\NewcomerTasks\TaskSuggester\{closure}(GrowthExperiments\NewcomerTasks\Task\TaskSet, integer, array, double, array)
#19 /srv/mediawiki/php-1.41.0-wmf.19/includes/libs/objectcache/wancache/WANObjectCache.php(1555): WANObjectCache->fetchOrRegenerate(string, integer, Closure, array, array)
#20 /srv/mediawiki/php-1.41.0-wmf.19/extensions/GrowthExperiments/includes/NewcomerTasks/TaskSuggester/CacheDecorator.php(186): WANObjectCache->getWithSetCallback(string, integer, Closure, array)
#21 /srv/mediawiki/php-1.41.0-wmf.19/extensions/GrowthExperiments/includes/NewcomerTasks/TaskSuggester/QualityGateDecorator.php(82): GrowthExperiments\NewcomerTasks\TaskSuggester\CacheDecorator->suggest(User, GrowthExperiments\NewcomerTasks\Task\TaskSetFilters, integer, NULL, array)
#22 /srv/mediawiki/php-1.41.0-wmf.19/extensions/GrowthExperiments/includes/HomepageModules/SuggestedEdits.php(475): GrowthExperiments\NewcomerTasks\TaskSuggester\QualityGateDecorator->suggest(User, GrowthExperiments\NewcomerTasks\Task\TaskSetFilters, NULL, NULL, array)
#23 /srv/mediawiki/php-1.41.0-wmf.19/includes/deferred/MWCallableUpdate.php(38): GrowthExperiments\HomepageModules\SuggestedEdits->GrowthExperiments\HomepageModules\{closure}()
#24 /srv/mediawiki/php-1.41.0-wmf.19/includes/deferred/DeferredUpdatesManager.php(506): MWCallableUpdate->doUpdate()
#25 /srv/mediawiki/php-1.41.0-wmf.19/includes/deferred/DeferredUpdatesManager.php(432): MediaWiki\Deferred\DeferredUpdatesManager->attemptUpdate(MWCallableUpdate, Wikimedia\Rdbms\LBFactoryMulti)
#26 /srv/mediawiki/php-1.41.0-wmf.19/includes/deferred/DeferredUpdatesManager.php(257): MediaWiki\Deferred\DeferredUpdatesManager->run(MWCallableUpdate, string)
#27 /srv/mediawiki/php-1.41.0-wmf.19/includes/deferred/DeferredUpdatesScope.php(267): MediaWiki\Deferred\DeferredUpdatesManager->MediaWiki\Deferred\{closure}(MWCallableUpdate, integer)
#28 /srv/mediawiki/php-1.41.0-wmf.19/includes/deferred/DeferredUpdatesScope.php(196): DeferredUpdatesScope->processStageQueue(integer, integer, Closure)
#29 /srv/mediawiki/php-1.41.0-wmf.19/includes/deferred/DeferredUpdatesManager.php(278): DeferredUpdatesScope->processUpdates(integer, Closure)
#30 /srv/mediawiki/php-1.41.0-wmf.19/includes/deferred/DeferredUpdates.php(159): MediaWiki\Deferred\DeferredUpdatesManager->doUpdates(integer)
#31 /srv/mediawiki/php-1.41.0-wmf.19/includes/MediaWiki.php(1156): DeferredUpdates::doUpdates()
#32 /srv/mediawiki/php-1.41.0-wmf.19/includes/MediaWiki.php(874): MediaWiki->restInPeace()
#33 /srv/mediawiki/php-1.41.0-wmf.19/includes/MediaWiki.php(622): MediaWiki->doPostOutputShutdown()
#34 /srv/mediawiki/php-1.41.0-wmf.19/index.php(50): MediaWiki->run()
#35 /srv/mediawiki/php-1.41.0-wmf.19/index.php(46): wfIndexMain()
#36 /srv/mediawiki/w/index.php(3): require(string)
#37 {main}
Notes

Small but constant stream of errors. Observed after deploying 1.41.0-wmf.19 to group1.

I couldn't determine a likely cause from either CirrusSearch or GrowthExperiments, so tagging both.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Urbanecm_WMF triaged this task as Unbreak Now! priority.Jul 26 2023, 2:22 PM

And this is a train blocker too... It renders Special:Homepage inaccessible, and that's the default landing page for all new users on all Wikipedias. Prioritizing accordingly.

Change 941947 had a related patch set uploaded (by DCausse; author: DCausse):

[mediawiki/extensions/CirrusSearch@master] Load RescoreFunctions from the ExtensionRegistry

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

Initially caused by https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CirrusSearch/+/940254 where I started to inject the ExtensionRegistry required to load some search profiles that the GrowthExperiment extension declares, sadly I forgot to pull the profiles for the "rescore_function_chains" component and this is what caused the regression, the attached patch should solve the problem, sorry about that.

Change 941882 had a related patch set uploaded (by DCausse; author: DCausse):

[mediawiki/extensions/CirrusSearch@wmf/1.41.0-wmf.19] Load RescoreFunctions from the ExtensionRegistry

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

Change 941947 merged by jenkins-bot:

[mediawiki/extensions/CirrusSearch@master] Load RescoreFunctions from the ExtensionRegistry

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

Change 941882 merged by jenkins-bot:

[mediawiki/extensions/CirrusSearch@wmf/1.41.0-wmf.19] Load RescoreFunctions from the ExtensionRegistry

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

Mentioned in SAL (#wikimedia-operations) [2023-07-26T15:37:40Z] <jforrester@deploy1002> Started scap: Backport for [[gerrit:941882|Load RescoreFunctions from the ExtensionRegistry (T342744)]]

Mentioned in SAL (#wikimedia-operations) [2023-07-26T15:39:26Z] <jforrester@deploy1002> dcausse and jforrester: Backport for [[gerrit:941882|Load RescoreFunctions from the ExtensionRegistry (T342744)]] synced to the testservers mwdebug1001.eqiad.wmnet, mwdebug2001.codfw.wmnet, mwdebug1002.eqiad.wmnet, mwdebug2002.codfw.wmnet, and mw-debug kubernetes deployment (accessible via k8s-experimental XWD option)

Mentioned in SAL (#wikimedia-operations) [2023-07-26T15:47:20Z] <jforrester@deploy1002> Finished scap: Backport for [[gerrit:941882|Load RescoreFunctions from the ExtensionRegistry (T342744)]] (duration: 09m 39s)

dcausse claimed this task.