Page MenuHomePhabricator

UpdateSuggesterIndex should fail early if the main indices do not exist
Closed, ResolvedPublic2 Estimated Story Points

Description

Discovered in T388538#10851450.
I suspect that what happened is that nupwiki was created (T390384) while codfw was completely depooled and its content and general indices were never created.
Then subsequent runs of the UpdateSuggesterIndex failed in a weird way leaving stale empty completion indices.

⏳ Starting extensions/CirrusSearch/maintenance/UpdateSuggesterIndex on Kubernetes as job mw-script.eqiad.8c03uneg ...
⏳ Waiting for the container to start...
🚀 Job is running.
📜 Streaming logs:
Scanning available plugins...
	analysis-hebrew, analysis-icu, analysis-nori, analysis-smartcn, analysis-stempel
	analysis-sudachi, analysis-ukrainian, cirrus-highlighter, ltr, opensearch-analysis-stconvert
	opensearch-extra, opensearch-extra-analysis-esperanto, opensearch-extra-analysis-homoglyph, opensearch-extra-analysis-khmer, opensearch-extra-analysis-serbian
	opensearch-extra-analysis-slovak, opensearch-extra-analysis-textify, opensearch-extra-analysis-turkish, opensearch-extra-analysis-ukrainian, opensearch-knn
	repository-s3
Picking analyzer...default
Fetching server version...opensearch 1.3.20...ok
Inferring index identifier...nupwiki_titlesuggest_first
Index does not exist yet cannot recycle.
Inferring index identifier...nupwiki_titlesuggest_first
Setting index identifier...nupwiki_titlesuggest_1747990462
2025-05-23 09:54:23 Waiting for the index to go green...
	Green!


Elasticsearch failed in an unexpected way.  This is always a bug in CirrusSearch.
Error type: Elastica\Exception\ResponseException
Message: index_not_found_exception: no such index [nupwiki_content]
Trace:
2025-05-23 10:04:31 
Unexpected Elasticsearch failure.
#0 /srv/mediawiki/php-1.45.0-wmf.2/vendor/ruflin/elastica/src/Request.php(183): Elastica\Transport\Http->exec(Object(Elastica\Request), Array)
#1 /srv/mediawiki/php-1.45.0-wmf.2/vendor/ruflin/elastica/src/Client.php(545): Elastica\Request->send()
#2 /srv/mediawiki/php-1.45.0-wmf.2/vendor/ruflin/elastica/src/Search.php(352): Elastica\Client->request('nupwiki_content...', 'POST', Array, Array)
#3 /srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/includes/Elastica/SearchAfter.php(96): Elastica\Search->search()
#4 /srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/includes/Elastica/SearchAfter.php(72): CirrusSearch\Elastica\SearchAfter->runSearch()
#5 /srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/includes/Elastica/SearchAfter.php(109): CirrusSearch\Elastica\SearchAfter->next()
#6 /srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/maintenance/UpdateSuggesterIndex.php(553): CirrusSearch\Elastica\SearchAfter->rewind()
#7 /srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/maintenance/UpdateSuggesterIndex.php(289): CirrusSearch\Maintenance\UpdateSuggesterIndex->indexData()
#8 /srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/maintenance/UpdateSuggesterIndex.php(218): CirrusSearch\Maintenance\UpdateSuggesterIndex->rebuild()
#9 /srv/mediawiki/php-1.45.0-wmf.2/maintenance/includes/MaintenanceRunner.php(691): CirrusSearch\Maintenance\UpdateSuggesterIndex->execute()
#10 /srv/mediawiki/php-1.45.0-wmf.2/maintenance/run.php(51): MediaWiki\Maintenance\MaintenanceRunner->run()
#11 /srv/mediawiki/multiversion/MWScript.php(221): require_once('/srv/mediawiki/...')
#12 {main}

AC:

  • the completion index should fail early & not be created if the main indices are missing

Event Timeline

Restricted Application added subscribers: Base, Aklapper. · View Herald Transcript
Gehel set the point value for this task to 2.May 26 2025, 3:49 PM

Change #1167274 had a related patch set uploaded (by Ebernhardson; author: Ebernhardson):

[mediawiki/extensions/CirrusSearch@master] UpdateSuggesterIndex: Require source indexes to exist

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

Change #1167274 merged by jenkins-bot:

[mediawiki/extensions/CirrusSearch@master] UpdateSuggesterIndex: Require source indexes to exist

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