From e8731fa324535e077140b9e82208082b9ff42678 Mon Sep 17 00:00:00 2001 From: David Kyle Date: Tue, 10 Oct 2023 18:18:55 +0100 Subject: [PATCH] transport version as local variables --- .../org/elasticsearch/TransportVersions.java | 3 -- .../elser/ElserMlNodeServiceSettings.java | 5 ++- .../ElserMlNodeServiceSettingsTests.java | 42 ++++++++++++------- 3 files changed, 30 insertions(+), 20 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/TransportVersions.java b/server/src/main/java/org/elasticsearch/TransportVersions.java index 14004a7004199..a82f95dc63332 100644 --- a/server/src/main/java/org/elasticsearch/TransportVersions.java +++ b/server/src/main/java/org/elasticsearch/TransportVersions.java @@ -154,9 +154,6 @@ static TransportVersion def(int id) { public static final TransportVersion NESTED_KNN_VECTOR_QUERY_V = def(8_511_00_0); public static final TransportVersion ML_PACKAGE_LOADER_PLATFORM_ADDED = def(8_512_00_0); public static final TransportVersion ELSER_SERVICE_MODEL_VERSION_ADDED_PATCH = def(8_512_00_1); - public static final TransportVersion PLUGIN_DESCRIPTOR_OPTIONAL_CLASSNAME = def(8_513_00_0); - public static final TransportVersion UNIVERSAL_PROFILING_LICENSE_ADDED = def(8_514_00_0); - public static final TransportVersion ELSER_SERVICE_MODEL_VERSION_ADDED = def(8_515_00_0); /* * STOP! READ THIS FIRST! No, really, * ____ _____ ___ ____ _ ____ _____ _ ____ _____ _ _ ___ ____ _____ ___ ____ ____ _____ _ diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elser/ElserMlNodeServiceSettings.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elser/ElserMlNodeServiceSettings.java index d1f27302f85f1..03feadb81e7e4 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elser/ElserMlNodeServiceSettings.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elser/ElserMlNodeServiceSettings.java @@ -95,11 +95,12 @@ public ElserMlNodeServiceSettings(StreamInput in) throws IOException { } static boolean transportVersionIsCompatibleWithElserModelVersion(TransportVersion transportVersion) { - var nextNonPatchVersion = TransportVersions.PLUGIN_DESCRIPTOR_OPTIONAL_CLASSNAME; + var elserServiceModelVersionAdded = new TransportVersion(8_515_00_0); - if (transportVersion.onOrAfter(TransportVersions.ELSER_SERVICE_MODEL_VERSION_ADDED)) { + if (transportVersion.onOrAfter(elserServiceModelVersionAdded)) { return true; } else { + var nextNonPatchVersion = new TransportVersion(8_513_00_0); return transportVersion.onOrAfter(TransportVersions.ELSER_SERVICE_MODEL_VERSION_ADDED_PATCH) && transportVersion.before(nextNonPatchVersion); } diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elser/ElserMlNodeServiceSettingsTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elser/ElserMlNodeServiceSettingsTests.java index 27c99820811c6..2ae1a663bdc73 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elser/ElserMlNodeServiceSettingsTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elser/ElserMlNodeServiceSettingsTests.java @@ -7,11 +7,13 @@ package org.elasticsearch.xpack.inference.services.elser; +import org.elasticsearch.TransportVersion; import org.elasticsearch.TransportVersions; import org.elasticsearch.common.ValidationException; import org.elasticsearch.common.io.stream.Writeable; import org.elasticsearch.test.AbstractWireSerializingTestCase; +import java.io.IOException; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -70,6 +72,27 @@ public void testFromMapInvalidVersion() { assertThat(e.getMessage(), containsString("unknown ELSER model version [.elser_model_27]")); } + public void testBwcWrite() throws IOException { + { + var elserServiceModelVersionAdded = new TransportVersion(8_515_00_0); + var settings = new ElserMlNodeServiceSettings(1, 1, ".elser_model_1"); + var copy = copyInstance(settings, elserServiceModelVersionAdded); + assertEquals(settings, copy); + } + { + var firstIncompatibleNotPatchVersion = new TransportVersion(8_513_00_0); + var settings = new ElserMlNodeServiceSettings(1, 1, ".elser_model_1"); + var copy = copyInstance(settings, firstIncompatibleNotPatchVersion); + assertNotEquals(settings, copy); + assertEquals(".elser_model_2", copy.getModelVariant()); + } + { + var settings = new ElserMlNodeServiceSettings(1, 1, ".elser_model_1"); + var copy = copyInstance(settings, TransportVersions.ELSER_SERVICE_MODEL_VERSION_ADDED_PATCH); + assertEquals(settings, copy); + } + } + public void testFromMapMissingOptions() { var e = expectThrows( ValidationException.class, @@ -87,11 +110,8 @@ public void testFromMapMissingOptions() { } public void testTransportVersionIsCompatibleWithElserModelVersion() { - assertTrue( - ElserMlNodeServiceSettings.transportVersionIsCompatibleWithElserModelVersion( - TransportVersions.ELSER_SERVICE_MODEL_VERSION_ADDED - ) - ); + var elserServiceModelVersionAdded = new TransportVersion(8_515_00_0); + assertTrue(ElserMlNodeServiceSettings.transportVersionIsCompatibleWithElserModelVersion(elserServiceModelVersionAdded)); assertTrue( ElserMlNodeServiceSettings.transportVersionIsCompatibleWithElserModelVersion( TransportVersions.ELSER_SERVICE_MODEL_VERSION_ADDED_PATCH @@ -101,16 +121,8 @@ public void testTransportVersionIsCompatibleWithElserModelVersion() { assertFalse( ElserMlNodeServiceSettings.transportVersionIsCompatibleWithElserModelVersion(TransportVersions.ML_PACKAGE_LOADER_PLATFORM_ADDED) ); - assertFalse( - ElserMlNodeServiceSettings.transportVersionIsCompatibleWithElserModelVersion( - TransportVersions.PLUGIN_DESCRIPTOR_OPTIONAL_CLASSNAME - ) - ); - assertFalse( - ElserMlNodeServiceSettings.transportVersionIsCompatibleWithElserModelVersion( - TransportVersions.UNIVERSAL_PROFILING_LICENSE_ADDED - ) - ); + var firstIncompatibleNotPatchVersion = new TransportVersion(8_513_00_0); + assertFalse(ElserMlNodeServiceSettings.transportVersionIsCompatibleWithElserModelVersion(firstIncompatibleNotPatchVersion)); } public void testFromMapInvalidSettings() {