-
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
Breaking change for single data node setting #73737
Breaking change for single data node setting #73737
Conversation
In elastic#55805, we added a setting to allow single data node clusters to respect the high watermark. In elastic#73733 we added the related deprecations. This commit ensures the only valid value for the setting is true and adds deprecations if the setting is set. The setting will be removed in a future release.
Pinging @elastic/es-distributed (Team:Distributed) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems reasonable to me. I left a couple of suggestions.
@@ -280,3 +280,18 @@ per index data path settings. | |||
|
|||
*Impact* + | |||
Discontinue use of the deprecated settings. | |||
|
|||
[[single-data-node-watermark-setting]] | |||
.Single data node watermark setting deprecated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we also consider the change in allocation behaviour on a single node to be a breaking change, and indicate that folks should set cluster.routing.allocation.disk.threshold_enabled: false
if they want to keep the old behaviour?
@@ -66,11 +68,22 @@ | |||
public class DiskThresholdDecider extends AllocationDecider { | |||
|
|||
private static final Logger logger = LogManager.getLogger(DiskThresholdDecider.class); | |||
private static final DeprecationLogger deprecationLogger = DeprecationLogger.getLogger(DiskThresholdDecider.class); | |||
|
|||
public static final String NAME = "disk_threshold"; | |||
|
|||
public static final Setting<Boolean> ENABLE_FOR_SINGLE_DATA_NODE = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this means the enableForSingleDataNode
field is now always true and so can be inlined.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…ata_node` setting Prior to 7.8, whenever a cluster had only a single data node, the watermarks would not be respected. This was incompatible with how storage based autoscaling on ESS/ECH works and in order to change this in 7.8+ in a backwards compatible way, we had to introduce the `cluster.routing.allocation.disk.watermark.enable_for_single_data_node node` setting. The setting was deprecated in elastic#73733 (7.14), and was made to accept only `true` in elastic#73737 (8.0).
…ata_node` setting Prior to 7.8, whenever a cluster had only a single data node, the watermarks would not be respected. This was incompatible with how storage based autoscaling on ESS/ECH works and in order to change this in 7.8+ in a backwards compatible way, we had to introduce the `cluster.routing.allocation.disk.watermark.enable_for_single_data_node node` setting. The setting was deprecated in elastic#73733 (7.14), and was made to accept only `true` in elastic#73737 (8.0).
…ata_node` setting (#114207) Prior to 7.8, whenever a cluster had only a single data node, the watermarks would not be respected. This was incompatible with how storage based autoscaling works and in order to change this in 7.8+ in a backwards compatible way, we had to introduce the `cluster.routing.allocation.disk.watermark.enable_for_single_data_node node` setting. The setting was deprecated in #73733 (7.14), and was made to accept only `true` in #73737 (8.0).
…ata_node` setting (#114207) Prior to 7.8, whenever a cluster had only a single data node, the watermarks would not be respected. This was incompatible with how storage based autoscaling works and in order to change this in 7.8+ in a backwards compatible way, we had to introduce the `cluster.routing.allocation.disk.watermark.enable_for_single_data_node node` setting. The setting was deprecated in #73733 (7.14), and was made to accept only `true` in #73737 (8.0).
…ata_node` setting (elastic#114207) Prior to 7.8, whenever a cluster had only a single data node, the watermarks would not be respected. This was incompatible with how storage based autoscaling works and in order to change this in 7.8+ in a backwards compatible way, we had to introduce the `cluster.routing.allocation.disk.watermark.enable_for_single_data_node node` setting. The setting was deprecated in elastic#73733 (7.14), and was made to accept only `true` in elastic#73737 (8.0).
In #55805, we added a setting to allow single data node clusters to
respect the high watermark. In #73733 we added the related deprecations.
This commit ensures the only valid value for the setting is true and
adds deprecations if the setting is set. The setting will be removed
in a future release.