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

Deprecations for single data node setting #73733

Conversation

henningandersen
Copy link
Contributor

In #55805, we added a setting to allow single data node clusters to
respect the high watermark. This commit adds deprecation warnings to 7.x
to ensure we can make only true valid in 8.0.

In elastic#55805, we added a setting to allow single data node clusters to
respect the high watermark. This commit adds deprecation warnings to 7.x
to ensure we can make only true valid in 8.0.
@henningandersen henningandersen added :Distributed Coordination/Allocation All issues relating to the decision making around placing a shard (both master logic & on the nodes) v7.14.0 labels Jun 3, 2021
@elasticmachine elasticmachine added the Team:Distributed (Obsolete) Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination. label Jun 3, 2021
@elasticmachine
Copy link
Collaborator

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

henningandersen added a commit to henningandersen/elasticsearch that referenced this pull request Jun 3, 2021
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.
Copy link
Contributor

@DaveCTurner DaveCTurner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similarly to #73737 (comment), if the cluster has a single data node then should we emit deprecation logs even if cluster.routing.allocation.disk.watermark.enable_for_single_data_node is unset?

@henningandersen henningandersen requested review from DaveCTurner and removed request for DaveCTurner June 4, 2021 12:36
@henningandersen
Copy link
Contributor Author

I think such a deprecation warning would be annoying to 99%+ of users. I wonder if a compromise could be to let the deprecation info check depend on number of data nodes in the cluster and emit the deprecation issue if the setting is unset in a single data node cluster?

@DaveCTurner
Copy link
Contributor

++ that's what I meant by

if the cluster has a single data node

😁

Copy link
Contributor

@DaveCTurner DaveCTurner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM; I left a docs suggestion and another nit but this doesn't need another round.

docs/reference/migration/migrate_7_14.asciidoc Outdated Show resolved Hide resolved
@@ -41,7 +44,7 @@

class NodeDeprecationChecks {

static DeprecationIssue checkPidfile(final Settings settings, final PluginsAndModules pluginsAndModules) {
static DeprecationIssue checkPidfile(final Settings settings, final PluginsAndModules pluginsAndModules, ClusterState cs) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit, for consistency I'd prefer this (and similarly below too)

Suggested change
static DeprecationIssue checkPidfile(final Settings settings, final PluginsAndModules pluginsAndModules, ClusterState cs) {
static DeprecationIssue checkPidfile(final Settings settings, final PluginsAndModules pluginsAndModules, final ClusterState clusterState) {

I'm ok with state instead of clusterState although I prefer the latter.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I agree, I was too lazy.....

@henningandersen
Copy link
Contributor Author

Thanks David!

@henningandersen henningandersen merged commit 3e59bc0 into elastic:7.x Jun 7, 2021
henningandersen added a commit that referenced this pull request Jun 7, 2021
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.

Co-authored-by: David Turner <[email protected]>
henningandersen added a commit to henningandersen/elasticsearch that referenced this pull request Sep 2, 2021
The deprecation warning for relying on the default value for
`cluster.routing.allocation.disk.watermark.enable_for_single_data_node`
was marked critical, but upgrading should never fail due to this. Now
changed to a warning.

Relates elastic#73733
henningandersen added a commit that referenced this pull request Sep 2, 2021
The deprecation warning for relying on the default value for
`cluster.routing.allocation.disk.watermark.enable_for_single_data_node`
was marked critical, but upgrading should never fail due to this. Now
changed to a warning.

Relates #73733
henningandersen added a commit that referenced this pull request Sep 2, 2021
The deprecation warning for relying on the default value for
`cluster.routing.allocation.disk.watermark.enable_for_single_data_node`
was marked critical, but upgrading should never fail due to this. Now
changed to a warning.

Relates #73733
arteam added a commit to arteam/elasticsearch that referenced this pull request Oct 7, 2024
…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).
arteam added a commit to arteam/elasticsearch that referenced this pull request Oct 7, 2024
…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).
elasticsearchmachine pushed a commit that referenced this pull request Nov 6, 2024
…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).
jozala pushed a commit that referenced this pull request Nov 13, 2024
…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).
alexey-ivanov-es pushed a commit to alexey-ivanov-es/elasticsearch that referenced this pull request Nov 28, 2024
…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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>deprecation :Distributed Coordination/Allocation All issues relating to the decision making around placing a shard (both master logic & on the nodes) Team:Distributed (Obsolete) Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination. v7.14.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants