Add data tiers (hot, warm, cold, frozen) as custom node roles#60994
Merged
dakrone merged 4 commits intoelastic:masterfrom Aug 12, 2020
Merged
Add data tiers (hot, warm, cold, frozen) as custom node roles#60994dakrone merged 4 commits intoelastic:masterfrom
dakrone merged 4 commits intoelastic:masterfrom
Conversation
This commit adds the `data_hot`, `data_warm`, `data_cold`, and `data_frozen` node roles to the x-pack plugin. These roles are intended to be the base for the formalization of data tiers in Elasticsearch. These roles all act as data nodes (meaning shards can be allocated to them). Nodes with the existing `data` role acts as though they have all of the roles configured (it is a hot, warm, cold, and frozen node). This also includes a custom `AllocationDecider` that allows the user to configure the following settings on a cluster level: - `cluster.routing.allocation.require._tier` - `cluster.routing.allocation.include._tier` - `cluster.routing.allocation.exclude._tier` And in index settings: - `index.routing.allocation.require._tier` - `index.routing.allocation.include._tier` - `index.routing.allocation.exclude._tier` Relates to elastic#60848
Collaborator
|
Pinging @elastic/es-core-features (:Core/Features/Features) |
18 tasks
andreidan
reviewed
Aug 12, 2020
Contributor
andreidan
left a comment
There was a problem hiding this comment.
Thanks for working on this Lee. Left some rather minor questions and suggestion.
server/src/main/java/org/elasticsearch/cluster/node/DiscoveryNode.java
Outdated
Show resolved
Hide resolved
.../main/java/org/elasticsearch/xpack/cluster/routing/allocation/DataTierAllocationDecider.java
Outdated
Show resolved
Hide resolved
.../java/org/elasticsearch/xpack/cluster/routing/allocation/DataTierAllocationDeciderTests.java
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/cluster/node/DiscoveryNode.java
Outdated
Show resolved
Hide resolved
andreidan
approved these changes
Aug 12, 2020
Contributor
andreidan
left a comment
There was a problem hiding this comment.
LGTM, thanks for iterating on this Lee
dakrone
added a commit
to dakrone/elasticsearch
that referenced
this pull request
Aug 12, 2020
…c#60994) This commit adds the `data_hot`, `data_warm`, `data_cold`, and `data_frozen` node roles to the x-pack plugin. These roles are intended to be the base for the formalization of data tiers in Elasticsearch. These roles all act as data nodes (meaning shards can be allocated to them). Nodes with the existing `data` role acts as though they have all of the roles configured (it is a hot, warm, cold, and frozen node). This also includes a custom `AllocationDecider` that allows the user to configure the following settings on a cluster level: - `cluster.routing.allocation.require._tier` - `cluster.routing.allocation.include._tier` - `cluster.routing.allocation.exclude._tier` And in index settings: - `index.routing.allocation.require._tier` - `index.routing.allocation.include._tier` - `index.routing.allocation.exclude._tier` Relates to elastic#60848
dakrone
added a commit
that referenced
this pull request
Aug 12, 2020
…60994) (#61045) This commit adds the `data_hot`, `data_warm`, `data_cold`, and `data_frozen` node roles to the x-pack plugin. These roles are intended to be the base for the formalization of data tiers in Elasticsearch. These roles all act as data nodes (meaning shards can be allocated to them). Nodes with the existing `data` role acts as though they have all of the roles configured (it is a hot, warm, cold, and frozen node). This also includes a custom `AllocationDecider` that allows the user to configure the following settings on a cluster level: - `cluster.routing.allocation.require._tier` - `cluster.routing.allocation.include._tier` - `cluster.routing.allocation.exclude._tier` And in index settings: - `index.routing.allocation.require._tier` - `index.routing.allocation.include._tier` - `index.routing.allocation.exclude._tier` Relates to #60848
dakrone
added a commit
to dakrone/elasticsearch
that referenced
this pull request
Sep 10, 2020
Similar to the work in elastic#60994 where we introduced the `data_hot`, `data_warm`, etc node roles. This introduces a new `data_content` node role to be used for the Content tier. Currently this tier is not used anywhere, but subsequent work will use this tier. Relates to elastic#60848
dakrone
added a commit
to dakrone/elasticsearch
that referenced
this pull request
Sep 14, 2020
Similar to the work in elastic#60994 where we introduced the `data_hot`, `data_warm`, etc node roles. This introduces a new `data_content` node role to be used for the Content tier. Currently this tier is not used anywhere, but subsequent work will use this tier. Relates to elastic#60848
dakrone
added a commit
to dakrone/elasticsearch
that referenced
this pull request
Sep 15, 2020
With the differentiation between searchable snapshots on the cold phase and searchable snapshots on the frozen phase not implemented, there is no need to have a separate phase/tier for now. This commit removes the frozen phase and tier, which can be added back at a later time. (this tier was never in a released version, so this is not a breaking change) Relates to elastic#60983 Relates to elastic#60994 Relates to elastic#60848
dakrone
added a commit
that referenced
this pull request
Sep 16, 2020
With the differentiation between searchable snapshots on the cold phase and searchable snapshots on the frozen phase not implemented, there is no need to have a separate phase/tier for now. This commit removes the frozen phase and tier, which can be added back at a later time. (this tier was never in a released version, so this is not a breaking change) Relates to #60983 Relates to #60994 Relates to #60848
dakrone
added a commit
to dakrone/elasticsearch
that referenced
this pull request
Sep 16, 2020
With the differentiation between searchable snapshots on the cold phase and searchable snapshots on the frozen phase not implemented, there is no need to have a separate phase/tier for now. This commit removes the frozen phase and tier, which can be added back at a later time. (this tier was never in a released version, so this is not a breaking change) Relates to elastic#60983 Relates to elastic#60994 Relates to elastic#60848
61 tasks
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit adds the
data_hot,data_warm,data_cold, anddata_frozennode roles to thex-pack plugin. These roles are intended to be the base for the formalization of data tiers in
Elasticsearch.
These roles all act as data nodes (meaning shards can be allocated to them). Nodes with the existing
datarole acts as though they have all of the roles configured (it is a hot, warm, cold, andfrozen node).
This also includes a custom
AllocationDeciderthat allows the user to configure the followingsettings on a cluster level:
cluster.routing.allocation.require._tiercluster.routing.allocation.include._tiercluster.routing.allocation.exclude._tierAnd in index settings:
index.routing.allocation.require._tierindex.routing.allocation.include._tierindex.routing.allocation.exclude._tierRelates to #60848