-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mandatory data tier preference #76147
Comments
Pinging @elastic/es-core-features (Team:Core/Features) |
@colings86 @dakrone This issue also seems relevant to recent conversations regarding how node shutdown should interact with tier preference - if tier preference becomes mandatory, that could change our calculus on the issue. |
Things to come back to:
|
What is the expectation when a snapshot taken in a pre-7.10 cluster is restored into an 8.x cluster? The indices in that snapshot will not have a tier preference set. Does it mean that 8.x code cannot safely assume that every index will have a tier preference set? Or will snapshot restoration be changed for 8.0 and above to automatically set a tier preference on restored indices that didn't have one when snapshotted? |
@droberts195 |
If it's not already documented I think it might be worth calling out in the docs that even if you fix all the deprecations before upgrading you can reintroduce indices that have those same deprecated characteristics by restoring an old snapshot.
This needs to be well-known among developers who write code that searches Elasticsearch. It's not safe to assume |
Using data tiers allows allocating indices to dedicated tiers of nodes. Such nodes would typically have different characteristics, either physically (storage type, RAM:storage ratio) or from a usage standpoint (my hot tier is expected to respond fast).
Using data tiers is optional in that using the
data
role will assign all data tiers to the node. However, if a cluster is using separate data tiers it is desirable to be explicit about where a specific index belongs.Today we allow
index.routing.allocation.include._tier_preference
to be unspecified for an index. This prevents Elasticsearch and its clients from relying on which tier an index/shard is located on, affecting following:_tier
query will not know the tier of an index/shard.Futhermore, it allows us to rely on this for future developments, such as balancing of shards, UI, monitoring and more. There is no known good use case for a tier-less index and allowing it only adds complexity for ourselves and users and can be considered bad data.
The proposal here is to work towards having
index.routing.allocation.include._tier_preference
be mandatory for all indices in following steps:migrate_to_data_tiers
API to apply the default data tier preference to any index that results in no tier preference otherwise and set the cluster setting mentioned in the first work item to ensure new indices are assigned a tier preference.In a future release (possibly 9.0) we should close the loop and:
migrate_to_data_tiers
API from the code (8.x? 9.x?)The text was updated successfully, but these errors were encountered: