elastic / elasticsearch

Free and Open, Distributed, RESTful Search Engine
https://www.elastic.co/products/elasticsearch
Other
68.54k stars 24.35k forks source link

Autoscaling in mixed cluster #61958

Open henningandersen opened 3 years ago

henningandersen commented 3 years ago

If the autoscaling decision API is polled during an upgrade from a version not supporting autoscaling to a version supporting autoscaling, we might go and try to deliver a response. This seems overly heroic, since information or features may not be available for specific deciders.

Indeed even trying to determine an autoscaling decision in a mixed cluster seems dangerous or difficult too with little to no benefit. We need to clarify if this is an important case.

There seems to be at least 2 options:

  1. Set a version limit when we release autoscaling and only do autoscaling when all nodes are above that version.
  2. Not support autoscaling in mixed version clusters.
elasticmachine commented 3 years ago

Pinging @elastic/es-distributed (:Distributed/Autoscaling)

henningandersen commented 3 years ago

We discussed this today and think that a per tier solution is the right choice for now. We advocate upgrading masters last so following is my suggestion:

This will ensure that the capacity API can still respond while upgrading if using the prescribed order and dedicated masters. If not using dedicated masters, we still assume few master nodes only so even when starting to upgrade those, the duration when the required_capacity cannot be calculated for a tier is small (which is unproblematic).

This avoids adding BWC capabilities into autoscaling deciders.

elasticsearchmachine commented 1 year ago

Pinging @elastic/es-distributed (Team:Distributed)