Guard file settings readiness on file settings support (#109500)

Consistency of file settings is an important invariant. However, when
upgrading from Elasticsearch versions before file settings existed,
cluster state will not yet have the file settings metadata. If the first
node upgraded is not the master node, new nodes will never become ready
while they wait for file settings metadata to exist.

This commit adds a node feature for file settings to guard waiting on
file settings for readiness. Although file settings has existed since
8.4, the feature is not a historical feature because historical features
are not applied to cluster state that readiness checks. In this case it
is not needed since upgrading from 8.4+ will already contain file
settings metadata.
This commit is contained in:
Ryan Ernst 2024-06-10 13:55:53 -07:00 committed by GitHub
parent e4c10d82bb
commit 0be3c741df
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 99 additions and 25 deletions

View file

@ -430,7 +430,8 @@ module org.elasticsearch.server {
org.elasticsearch.indices.IndicesFeatures,
org.elasticsearch.action.admin.cluster.allocation.AllocationStatsFeatures,
org.elasticsearch.index.mapper.MapperFeatures,
org.elasticsearch.search.retriever.RetrieversFeatures;
org.elasticsearch.search.retriever.RetrieversFeatures,
org.elasticsearch.reservedstate.service.FileSettingsFeatures;
uses org.elasticsearch.plugins.internal.SettingsExtension;
uses RestExtension;