-
Notifications
You must be signed in to change notification settings - Fork 25k
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
Make NodeInfo#nodeVersion strongly-typed as Version #29515
Make NodeInfo#nodeVersion strongly-typed as Version #29515
Conversation
Today we have a nodeVersion property on the NodeInfo class that we use to carry around information about a standalone node that we will start during tests. This property is a String which we usually end up parsing to a Version anyway to do various checks on it. This can end up happening a lot during configuration so it would be more efficient and safer to have this already be strongly-typed as a Version and parsed from a String only once for each instance of NodeInfo. Therefore, this commit makes NodeInfo#nodeVersion strongly-typed as a Version.
Pinging @elastic/es-core-infra |
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 left a couple suggestions.
if (i < config.numBwcNodes) { | ||
elasticsearchVersion = config.bwcVersion | ||
elasticsearchVersion = Version.fromString(config.bwcVersion) |
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 ClusterConfiguration.bwcVersion can be changed to be Version as well, so we don't have to parse here? All the places I see it set (eg qa/full-cluster-restart) have an already constructed Version object.
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 pushed ee06d86.
distro = bwcDistro | ||
} else { | ||
elasticsearchVersion = Version.fromString(VersionProperties.elasticsearch) |
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.
This could be parsed in the static init of VersionProperties (changing that to Version)? The toString() would still work for all the places that use VersionProperties.elasticsearch eg to set maven version.
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 pushed ee06d86.
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, thanks!
Today we have a nodeVersion property on the NodeInfo class that we use to carry around information about a standalone node that we will start during tests. This property is a String which we usually end up parsing to a Version anyway to do various checks on it. This can end up happening a lot during configuration so it would be more efficient and safer to have this already be strongly-typed as a Version and parsed from a String only once for each instance of NodeInfo. Therefore, this commit makes NodeInfo#nodeVersion strongly-typed as a Version.
* 6.x: [TEST] REST client request without leading '/' (#29471) Prevent accidental changes of default values (#29528) [Docs] Add definitions to glossary (#29127) Avoid self-deadlock in the translog (#29520) Minor cleanup in NodeInfo.groovy Lazy configure build tasks that require older JDKs (#29519) Fix usage of NodeInfo#nodeVersion in build Control max size/count of warning headers (#28427) (#29516) Simplify snapshot check in root build file Make NodeInfo#nodeVersion strongly-typed as Version (#29515) Enable license header exclusions (#29379) Use proper Java version for BWC builds (#29493) Mute TranslogTests#testFatalIOExceptionsWhileWritingConcurrently
* master: [TEST] REST client request without leading '/' (#29471) Using ObjectParser in UpdateRequest (#29293) Prevent accidental changes of default values (#29528) [Docs] Add definitions to glossary (#29127) Avoid self-deadlock in the translog (#29520) Minor cleanup in NodeInfo.groovy Lazy configure build tasks that require older JDKs (#29519) Simplify snapshot check in root build file Make NodeInfo#nodeVersion strongly-typed as Version (#29515) Enable license header exclusions (#29379) Use proper Java version for BWC builds (#29493) Mute TranslogTests#testFatalIOExceptionsWhileWritingConcurrently Enable skipping fetching latest for BWC builds (#29497)
* master: (96 commits) TEST: Mute testEnsureWeReconnect Mute full cluster restart test recovery test REST high-level client: add support for Indices Update Settings API [take 2] (elastic#29327) Plugins: Fix native controller confirmation for non-meta plugin (elastic#29434) Remove PipelineExecutionService#executeIndexRequest (elastic#29537) Fix overflow error in parsing of long geohashes (elastic#29418) Remove unused index.ttl.disable_purge setting (elastic#29527) FullClusterRestartIT.testRecovery should wait for all initializing shards Build: Fail if any libs depend on non-core libs (elastic#29336) [TEST] REST client request without leading '/' (elastic#29471) Using ObjectParser in UpdateRequest (elastic#29293) Prevent accidental changes of default values (elastic#29528) [Docs] Add definitions to glossary (elastic#29127) Avoid self-deadlock in the translog (elastic#29520) Minor cleanup in NodeInfo.groovy Lazy configure build tasks that require older JDKs (elastic#29519) Simplify snapshot check in root build file Make NodeInfo#nodeVersion strongly-typed as Version (elastic#29515) Enable license header exclusions (elastic#29379) Use proper Java version for BWC builds (elastic#29493) ...
Today we have a nodeVersion property on the NodeInfo class that we use to carry around information about a standalone node that we will start during tests. This property is a String which we usually end up parsing to a Version anyway to do various checks on it. This can end up happening a lot during configuration so it would be more efficient and safer to have this already be strongly-typed as a Version and parsed from a String only once for each instance of NodeInfo. Therefore, this commit makes NodeInfo#nodeVersion strongly-typed as a Version.