How to reproduce:
install MediaWiki 1.35.1 with ElasticSearch extension from git, run composer update and then run php extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php
you would get an error:
php extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php indexing namespaces... Indexing namespaces...done content index... Fetching Elasticsearch version...6.8.13...ok Scanning available plugins...none Picking analyzer...english Inferring index identifier...mediawiki_content_first Creating index...ok Validating number of shards...ok Validating replica range...ok Validating shard allocation settings...done Validating max shards per node...ok Validating analyzers...ok Validating mappings... Validating mapping...different...corrected Validating aliases... Validating mediawiki_content alias...alias is free...[6e4df9b2173aee354e984b31] [no req] Error from line 451 of /var/www/html/w/extensions/Elastica/vendor/ruflin/elastica/lib/Elastica/Index.php: Class 'Elasticsearch\Endpoints\Indices\Aliases\Update' not found Backtrace: #0 /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/Validators/SpecificAliasValidator.php(137): Elastica\Index->addAlias() #1 /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/Validators/SpecificAliasValidator.php(79): CirrusSearch\Maintenance\Validators\SpecificAliasValidator->updateFreeIndices() #2 /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/Validators/IndexAliasValidator.php(98): CirrusSearch\Maintenance\Validators\SpecificAliasValidator->updateIndices() #3 /var/www/html/w/extensions/CirrusSearch/maintenance/UpdateOneSearchIndexConfig.php(458): CirrusSearch\Maintenance\Validators\IndexAliasValidator->validate() #4 /var/www/html/w/extensions/CirrusSearch/maintenance/UpdateOneSearchIndexConfig.php(411): CirrusSearch\Maintenance\UpdateOneSearchIndexConfig->validateSpecificAlias() #5 /var/www/html/w/extensions/CirrusSearch/maintenance/UpdateOneSearchIndexConfig.php(269): CirrusSearch\Maintenance\UpdateOneSearchIndexConfig->validateAlias() #6 /var/www/html/w/extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php(61): CirrusSearch\Maintenance\UpdateOneSearchIndexConfig->execute() #7 /var/www/html/w/maintenance/doMaintenance.php(107): CirrusSearch\Maintenance\UpdateSearchIndexConfig->execute() #8 /var/www/html/w/extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php(70): require_once(string) #9 {main}
It is because composer update installs elasticsearch/elasticsearch version 6.8.0 (since 2021-03-01 18:54 UTC)
and compared to previous version 6.7.2 some classes were removed, see http://comparabl.com/upgrade/elasticsearch-elasticsearch/v6.7.2/v6.8.0
Elastica extension requires "ruflin/elastica": "6.1.1" which requires elasticsearch/elasticsearch: ^6.0 and composer installs elasticsearch-elasticsearch version 6.8.0.
I fixed it adding to composer.local.json file:
"require": { "elasticsearch/elasticsearch": "6.7.2" }
It seems without the fix CirrusSearch works fine but you face the problem when you run the maintenance scripts.