Skip to content
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

[7.x] Add DiscoveryNodeRole compatibility role for bwc tier serialization (#63581) #63612

Merged
merged 1 commit into from
Oct 13, 2020

Conversation

dakrone
Copy link
Member

@dakrone dakrone commented Oct 13, 2020

Backports the following commits to 7.x:

…lastic#63581)

When introducing new roles, older versions of Elasticsearch aren't aware of these roles. This can
lead to a situation where an old (say 7.9.x) master node sees nodes in the cluster of version 7.10+
with "data_hot" or "data_content" roles, and thinks those roles are not eligible to hold data (since
the older node has no concept of these roles).

This adds a method to `DiscoveryNodeRole` where a role can return a compatibility role to be used
for serializing to an older Elasicsearch version. The new formalized data tier
roles (`data_content`, `data_hot`, `data_warm`, `data_cold`) uses this mechanism to serialize as
regular "data" roles when talking to an older Elasticsearch node. This will allow these nodes to
still contain data during a rolling upgrade where the master is upgraded last.

Relates to elastic#60848
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-features (:Core/Features/Features)

@elasticmachine elasticmachine added the Team:Data Management Meta label for data/management team label Oct 13, 2020
@dakrone dakrone merged commit 7a4f1b6 into elastic:7.x Oct 13, 2020
@dakrone dakrone deleted the backport/7.x/pr-63581 branch October 13, 2020 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport Team:Data Management Meta label for data/management team v7.11.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants