When I rolled 1.30.0-wmf.9 forward to all wikis, there were a number of alerts that started firing in *-operations
23:01:38 icinga-wm PROBLEM - recommendation_api endpoints health on scb2005 is CRITICAL: /{domain}/v1/translation/articles/{source}{/seed} (normal source and target with seed) is CRITICAL: Test normal source and target with seed returned the unexpected status 404 (expecting: 200) 23:01:38 icinga-wm PROBLEM - recommendation_api endpoints health on scb2001 is CRITICAL: /{domain}/v1/translation/articles/{source}{/seed} (normal source and target with seed) is CRITICAL: Test normal source and target with seed returned the unexpected status 404 (expecting: 200) 23:01:47 icinga-wm PROBLEM - recommendation_api endpoints health on scb1001 is CRITICAL: /{domain}/v1/translation/articles/{source}{/seed} (normal source and target with seed) is CRITICAL: Test normal source and target with seed returned the unexpected status 404 (expecting: 200) 23:02:07 icinga-wm PROBLEM - recommendation_api endpoints health on scb1002 is CRITICAL: /{domain}/v1/translation/articles/{source}{/seed} (normal source and target with seed) is CRITICAL: Test normal source and target with seed returned the unexpected status 404 (expecting: 200) 23:02:37 icinga-wm PROBLEM - recommendation_api endpoints health on scb2003 is CRITICAL: /{domain}/v1/translation/articles/{source}{/seed} (normal source and target with seed) is CRITICAL: Test normal source and target with seed returned the unexpected status 404 (expecting: 200) 23:02:38 icinga-wm PROBLEM - recommendation_api endpoints health on scb2002 is CRITICAL: /{domain}/v1/translation/articles/{source}{/seed} (normal source and target with seed) is CRITICAL: Test normal source and target with seed returned the unexpected status 404 (expecting: 200) 23:02:47 icinga-wm RECOVERY - recommendation_api endpoints health on scb1001 is OK: All endpoints are healthy 23:02:57 icinga-wm PROBLEM - CirrusSearch eqiad 95th percentile latency on graphite1001 is CRITICAL: CRITICAL: 50.00% of data above the critical threshold [1000.0]
This showed up in the error logs at the same time:
#0 /srv/mediawiki/php-1.30.0-wmf.9/extensions/CirrusSearch/includes/Elastica/PooledHttp.php(67): curl_init_pooled(string) #1 /srv/mediawiki/php-1.30.0-wmf.9/vendor/ruflin/elastica/lib/Elastica/Transport/Http.php(51): CirrusSearch\Elastica\PooledHttp->_getConnection(boolean) #2 /srv/mediawiki/php-1.30.0-wmf.9/vendor/ruflin/elastica/lib/Elastica/Request.php(171): Elastica\Transport\Http->exec(Elastica\Request, array) #3 /srv/mediawiki/php-1.30.0-wmf.9/vendor/ruflin/elastica/lib/Elastica/Client.php(662): Elastica\Request->send() #4 /srv/mediawiki/php-1.30.0-wmf.9/vendor/ruflin/elastica/lib/Elastica/Index.php(521): Elastica\Client->request(string, string, array, array) #5 /srv/mediawiki/php-1.30.0-wmf.9/extensions/CirrusSearch/includes/CompletionSuggester.php(203): Elastica\Index->request(string, string, array, array) #6 [internal function]: Closure$CirrusSearch\CompletionSuggester::suggest() #7 /srv/mediawiki/php-1.30.0-wmf.9/extensions/CirrusSearch/includes/Util.php(116): call_user_func_array(Closure$CirrusSearch\CompletionSuggester::suggest;1635, array) #8 /srv/mediawiki/php-1.30.0-wmf.9/includes/poolcounter/PoolCounterWorkViaCallback.php(69): Closure$CirrusSearch\Util::wrapWithPoolStats() #9 /srv/mediawiki/php-1.30.0-wmf.9/includes/poolcounter/PoolCounterWork.php(123): PoolCounterWorkViaCallback->doWork() #10 /srv/mediawiki/php-1.30.0-wmf.9/extensions/CirrusSearch/includes/Util.php(174): PoolCounterWork->execute() #11 /srv/mediawiki/php-1.30.0-wmf.9/extensions/CirrusSearch/includes/CompletionSuggester.php(217): CirrusSearch\Util::doPoolCounterWork(string, User, Closure$CirrusSearch\Util::wrapWithPoolStats;1347) #12 /srv/mediawiki/php-1.30.0-wmf.9/extensions/CirrusSearch/includes/CirrusSearch.php(472): CirrusSearch\CompletionSuggester->suggest(string, array) #13 /srv/mediawiki/php-1.30.0-wmf.9/extensions/CirrusSearch/includes/CirrusSearch.php(601): CirrusSearch->getSuggestions(string, array, CirrusSearch\SearchConfig) #14 /srv/mediawiki/php-1.30.0-wmf.9/includes/search/SearchEngine.php(520): CirrusSearch->completionSearchBackend(string) #15 /srv/mediawiki/php-1.30.0-wmf.9/extensions/CirrusSearch/includes/CirrusSearch.php(612): SearchEngine->completionSearch(string) #16 /srv/mediawiki/php-1.30.0-wmf.9/includes/api/ApiQueryPrefixSearch.php(54): CirrusSearch->completionSearchWithVariants(string) #17 /srv/mediawiki/php-1.30.0-wmf.9/includes/api/ApiQueryPrefixSearch.php(41): ApiQueryPrefixSearch->run(ApiPageSet) #18 /srv/mediawiki/php-1.30.0-wmf.9/includes/api/ApiPageSet.php(180): ApiQueryPrefixSearch->executeGenerator(ApiPageSet) #19 /srv/mediawiki/php-1.30.0-wmf.9/includes/api/ApiPageSet.php(144): ApiPageSet->executeInternal(boolean) #20 /srv/mediawiki/php-1.30.0-wmf.9/includes/api/ApiQuery.php(238): ApiPageSet->execute() #21 /srv/mediawiki/php-1.30.0-wmf.9/includes/api/ApiMain.php(1583): ApiQuery->execute() #22 /srv/mediawiki/php-1.30.0-wmf.9/includes/api/ApiMain.php(546): ApiMain->executeAction() #23 /srv/mediawiki/php-1.30.0-wmf.9/includes/api/ApiMain.php(517): ApiMain->executeActionWithErrorHandling() #24 /srv/mediawiki/php-1.30.0-wmf.9/api.php(94): ApiMain->execute() #25 /srv/mediawiki/w/api.php(3): include(string) #26 {main}