Use Version#id to parse version from settings.
When a Version is passed to `Settings#put(String, Version)` it's id is used as an integer which should also be used to deserialize it on the consumer end. Today AssertinLocalTransport expects Version#toString() to be used which can lead to subtile bugs in tests.
This commit is contained in:
parent
7cde0d47bc
commit
cf358e426c
|
@ -61,7 +61,7 @@ public class DateHistogramOffsetIT extends ESIntegTestCase {
|
|||
protected Settings nodeSettings(int nodeOrdinal) {
|
||||
return Settings.builder()
|
||||
.put(super.nodeSettings(nodeOrdinal))
|
||||
.put(AssertingLocalTransport.ASSERTING_TRANSPORT_MIN_VERSION_KEY.getKey(), Version.V_1_4_0_Beta1.toString()).build();
|
||||
.put(AssertingLocalTransport.ASSERTING_TRANSPORT_MIN_VERSION_KEY.getKey(), Version.V_1_4_0_Beta1).build();
|
||||
}
|
||||
|
||||
@Before
|
||||
|
|
|
@ -62,9 +62,9 @@ public class AssertingLocalTransport extends LocalTransport {
|
|||
}
|
||||
|
||||
public static final Setting<Version> ASSERTING_TRANSPORT_MIN_VERSION_KEY = new Setting<>("transport.asserting.version.min",
|
||||
Version.CURRENT.minimumCompatibilityVersion().toString(), Version::fromString, false, Setting.Scope.CLUSTER);
|
||||
Integer.toString(Version.CURRENT.minimumCompatibilityVersion().id), (s) -> Version.fromId(Integer.parseInt(s)), false, Setting.Scope.CLUSTER);
|
||||
public static final Setting<Version> ASSERTING_TRANSPORT_MAX_VERSION_KEY = new Setting<>("transport.asserting.version.max",
|
||||
Version.CURRENT.toString(), Version::fromString, false, Setting.Scope.CLUSTER);
|
||||
Integer.toString(Version.CURRENT.id), (s) -> Version.fromId(Integer.parseInt(s)), false, Setting.Scope.CLUSTER);
|
||||
private final Random random;
|
||||
private final Version minVersion;
|
||||
private final Version maxVersion;
|
||||
|
|
Loading…
Reference in New Issue