Add target_node_name for REPLACE shutdown type#77151
Merged
AthenaEryma merged 9 commits intoelastic:masterfrom Sep 3, 2021
Merged
Add target_node_name for REPLACE shutdown type#77151AthenaEryma merged 9 commits intoelastic:masterfrom
AthenaEryma merged 9 commits intoelastic:masterfrom
Conversation
This commit extends the `REPLACE` shutdown type to support a new `target_node_name` field, which will control the node used to replace the one that is to shut down. However, only the data layer is present as of this PR. Also adjusts the serialization/deserialization for the REPLACE type to handle mixed-version clusters.
Collaborator
|
Pinging @elastic/es-core-infra (Team:Core/Infra) |
dakrone
requested changes
Sep 1, 2021
Member
dakrone
left a comment
There was a problem hiding this comment.
Left some super minor comments but nothing major
| throw new IllegalArgumentException("shard allocation delay is only valid for RESTART-type shutdowns"); | ||
| } | ||
| this.allocationDelay = allocationDelay; | ||
| this.targetNodeName = targetNodeName; |
Member
There was a problem hiding this comment.
We validate that there is an allocation delay only specified for the RESTART type, so we should also validate that the target note is only specified for a REPLACE type shutdown here I think
| throw new IllegalArgumentException("start timestamp must be set"); | ||
| } | ||
|
|
||
| if (targetNodeName != null && type != Type.REPLACE) { |
Member
There was a problem hiding this comment.
I think doing this validate in the constructor instead would be better, since we do the validation for the shard delay there also
| SingleNodeShutdownMetadata.Type type, | ||
| String reason, | ||
| @Nullable TimeValue allocationDelay, | ||
| String targetNodeName |
Member
There was a problem hiding this comment.
Super minor
Suggested change
| String targetNodeName | |
| @Nullable String targetNodeName |
AthenaEryma
added a commit
to AthenaEryma/elasticsearch
that referenced
this pull request
Sep 3, 2021
This commit extends the `REPLACE` shutdown type to support a new `target_node_name` field, which will control the node used to replace the one that is to shut down. However, only the data layer is present as of this PR. Also adjusts the serialization/deserialization for the REPLACE type to handle mixed-version clusters.
Collaborator
💚 Backport successful
|
wjp719
added a commit
to wjp719/elasticsearch
that referenced
this pull request
Sep 4, 2021
* master: (128 commits) Mute DieWithDignityIT (elastic#77283) Fix randomization in MlNodeShutdownIT (elastic#77281) Add target_node_name for REPLACE shutdown type (elastic#77151) [DOCS] Adds information about version compatibility headers (elastic#77096) Fix template equals when mappings are wrapped (elastic#77008) Fix TextFieldMapper Retaining a Reference to its Builder (elastic#77251) Move die with dignity to be a test module (elastic#77136) Update task names for rest compatiblity (elastic#75267) [ML] adjusting bwc serialization for elastic#77256 (elastic#77257) Move `index.hidden` from Static to Dynamic settings (elastic#77218) Handle cgroups v2 in `OsProbe` (elastic#77128) Choose postings format from FieldMapper instead of MappedFieldType (elastic#77234) Add segment sorter for data streams (elastic#75195) Update skip after backport (elastic#77212) [ML] adding new defer_definition_decompression parameter to put trained model API (elastic#77189) [ML] Fix bug in inference stats persister for when feature reset is called Only check replicas in cancelling existing recoveries. (elastic#60564) Format `AbstractFilteringTestCase` (elastic#77217) [DOCS] Fixes line breaks. (elastic#77248) Convert 'routing' values in REST API tests to strings ... # Conflicts: # server/src/main/java/org/elasticsearch/cluster/metadata/DataStream.java
AthenaEryma
added a commit
that referenced
this pull request
Sep 7, 2021
AthenaEryma
added a commit
that referenced
this pull request
Sep 7, 2021
This commit extends the `REPLACE` shutdown type to support a new `target_node_name` field, which will control the node used to replace the one that is to shut down. However, only the data layer is present as of this PR. Also adjusts the serialization/deserialization for the REPLACE type to handle mixed-version clusters. Also includes content of #77281 and #77304, follow-ups to the original PR which fix various test issues. Co-authored-by: David Roberts <dave.roberts@elastic.co>
AthenaEryma
added a commit
to AthenaEryma/elasticsearch
that referenced
this pull request
Sep 7, 2021
This commit adjusts the serialization version and re-enabled BWC tests following the backport of elastic#77151.
AthenaEryma
added a commit
to AthenaEryma/elasticsearch
that referenced
this pull request
Sep 7, 2021
This reverts commit 5530799.
AthenaEryma
added a commit
that referenced
this pull request
Sep 7, 2021
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit extends the
REPLACEshutdown type to support a newtarget_node_namefield, which will control the node used to replacethe one that is to shut down. However, only the data layer is present as
of this PR.
Also adjusts the serialization/deserialization for the
REPLACEtype tohandle mixed-version clusters.
Relates to #70338