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

Nodes are set with all node roles by default #66659

Closed
cjcenizal opened this issue Dec 18, 2020 · 7 comments
Closed

Nodes are set with all node roles by default #66659

cjcenizal opened this issue Dec 18, 2020 · 7 comments
Labels
Team:Data Management Meta label for data/management team Team:Deployment Management Meta label for Management Experience - Deployment Management team team-discuss

Comments

@cjcenizal
Copy link
Contributor

cjcenizal commented Dec 18, 2020

When I spin up a new single-node 7.10.1 cluster and run GET _nodes, I see that it's been defined with these roles:

[
  "data",
  "data_cold",
  "data_content",
  "data_hot",
  "data_warm",
  "ingest",
  "master",
  "ml",
  "remote_cluster_client",
  "transform"
]

This results in the ILM UI presenting allocation options to hot and warm as if these options make sense, though of course they're a no-op.

image

I'm raising this to understand why the node is configured with all of those node roles and to explore the possibility of removing some of them. For example, if we were to remove data_cold and data_warm then the UI could detect the absence nodes with these roles and warn the user that the allocation action might be a no-op.

@cjcenizal cjcenizal added discuss Team:Data Management Meta label for data/management team Team:Deployment Management Meta label for Management Experience - Deployment Management team labels Dec 18, 2020
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-ui (Team:UI)

@elasticmachine
Copy link
Collaborator

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

@jasontedor
Copy link
Member

I'm raising this to understand why the node is configured with all of those node roles and to explore the possibility of removing some of them.

This is done to optimize for the laptop experience. Removing them should only be done with careful consideration for the laptop experience. I think removing any of these roles would sacrifice that experience. In production, we expect users to set roles explicitly, regardless of the default experience.

@cjcenizal
Copy link
Contributor Author

This is done to optimize for the laptop experience

Thanks for your reply @jasontedor! Can you clarify what you mean by the laptop experience? I'm not familiar with this use case.

In production, we expect users to set roles explicitly, regardless of the default experience.

Does this imply that you think Cloud should configure deployments with a custom set of node roles to achieve the desired UX, rather than lean on the defaults that ES sets?

Also, just as a sanity check, can you verify that the UX problem I initially described makes sense to you?

@jasontedor
Copy link
Member

Thanks for your reply @jasontedor! Can you clarify what you mean by the laptop experience? I'm not familiar with this use case.

The laptop experience is for developers that download our products onto their laptop. We want them to be able to get up and running as quickly as possible, and be enabled to try out many of our futures with minimal fuss.

Does this imply that you think Cloud should configure deployments with a custom set of node roles to achieve the desired UX, rather than lean on the defaults that ES sets?

Cloud does this, because we have different sliders representing different tiers, each encompassing a certain set of roles (e.g., the cold slider enables the data_cold and remote_cluster_client roles, but not, for example, the data_hot role, because that for the hot slider.

Also, just as a sanity check, can you verify that the UX problem I initially described makes sense to you?

The migration isn't a no-op, because it changes the tier preference on the index from data_hot to data_warm,data_hot. If the user were to add a node with only the data_warm role to their cluster, and remove the data_warm from their existing node, then the index would migrate to that newly-added node.

While it is the case that for a single node on a laptop that is enabled with all of the data_ roles, the migration will not cause any data to actually move, setting the tier preference index setting it still important.

@dakrone
Copy link
Member

dakrone commented Mar 10, 2021

setting the tier preference index setting it still important.

When the _tier metadata field is introduced for queries (#69288) it will also use this, which is another reason we update this setting even if the data is not necessarily moving between nodes.

@cjcenizal
Copy link
Contributor Author

Thanks @jasontedor and @dakrone. We fixed the original user-facing problem via elastic/kibana#90592.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team:Data Management Meta label for data/management team Team:Deployment Management Meta label for Management Experience - Deployment Management team team-discuss
Projects
None yet
Development

No branches or pull requests

5 participants