[2021-08-12T18:00:46,783][WARN ][o.e.d.r.a.a.i.RestGetIndicesAction] [gXPW_Qb] [types removal] The parameter include_type_name should be explicitly specified in get indices requests to prepare for 7.0. In 7.0 include_type_name will default to 'false', which means responses will omit the type name in mapping definitions.
Description
Details
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Resolved | None | T248925 Make MediaWiki release tarball compatible with PHP 8.0 | |||
| Resolved | Jdforrester-WMF | T300463 Make PHP 8.0 voting on MW master | |||
| Resolved | None | T283275 Make MW master tests pass on PHP 8.0 | |||
| Resolved | Reedy | T268861 CirrusSearch uses Elastica's Match class | |||
| Resolved | Reedy | T268863 Translate uses Elastica's Match class | |||
| Resolved | matthiasmullie | T268866 WikibaseMediaInfo uses Elastica's Match class | |||
| Invalid | None | T268864 WikibaseCirrusSearch uses Elastica's Match class | |||
| Resolved | Reedy | T268865 WikibaseLexemeCirrusSearch uses Elastica's Match class | |||
| Resolved | EBernhardson | T271777 Bump rufin/elastica (and related libraries) to versions that support PHP 8.0 | |||
| Resolved | Gehel | T263142 [EPIC] Upgrade Elasticsearch to version 7.10 | |||
| Resolved | EBernhardson | T218994 Deprecation warning on elasticsearch 6 | |||
| Resolved | EBernhardson | T288764 Set include_type_name in all get requests |
Event Timeline
This ends up being a couple different things. The over-arching theme is that anything that creates/updates/verifies index settings or mappings triggers this error. I'm not seeing graceful ways to handle this from Elastica, they don't allow us to provide specific parameters to calls they abstract away. The Elastica layer is quite thin, it's easy enough to use Index::requestEndpoint instead of the wrapper methods that call endpoints. Otherwise it seems we would have to accept letting these trigger deprecations and handle them only in the 7.x branch. That isn't the end of the world, but I would be more confident in a smooth transition if we can resolve all the warnings in live deployed code.
Additionally the MetaStore needs a light refactoring, it was only partially reworked when type's were deprecated in 6.x. It's not significant work, but some effort none the less.
Change 770598 had a related patch set uploaded (by Ebernhardson; author: Ebernhardson):
[mediawiki/extensions/CirrusSearch@master] include_type_name: Avoid warnings when setting up an index
This needs to wait for 6.8 to be deployed to prod before we can start sending include_type_name. Going to split off a separate patch that will migrate metastore to _doc without doing the include_type_name parts.
Change 774548 had a related patch set uploaded (by Ebernhardson; author: Ebernhardson):
[mediawiki/extensions/CirrusSearch@es68] include_type_name: Index creation and status
Change 770598 abandoned by Ebernhardson:
[mediawiki/extensions/CirrusSearch@master] include_type_name: Avoid warnings when setting up an index
Reason:
submitted to es68 branch instead
Change 774548 merged by jenkins-bot:
[mediawiki/extensions/CirrusSearch@es68] include_type_name: Index creation and status