diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/CollectTransportVersionReferencesTask.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/CollectTransportVersionReferencesTask.java index d572abb848d1c..5b2cb960f7d47 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/CollectTransportVersionReferencesTask.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/CollectTransportVersionReferencesTask.java @@ -101,6 +101,12 @@ public void visitLineNumber(int line, Label start) { lineNumber = line; } + @Override + public void visitLabel(Label label) { + // asm uses many debug labels that we do not want to consider + // so we ignore labels so they do not become part of the instructions list + } + @Override public void visitMethodInsn(int opcode, String owner, String name, String descriptor, boolean isInterface) { if (owner.equals(TRANSPORT_VERSION_SET_CLASS) && name.equals(TRANSPORT_VERSION_SET_METHOD_NAME)) { diff --git a/server/src/main/java/org/elasticsearch/TransportVersions.java b/server/src/main/java/org/elasticsearch/TransportVersions.java index 383b1f8590486..57221e0b51044 100644 --- a/server/src/main/java/org/elasticsearch/TransportVersions.java +++ b/server/src/main/java/org/elasticsearch/TransportVersions.java @@ -175,13 +175,6 @@ static TransportVersion def(int id) { public static final TransportVersion ESQL_DRIVER_TASK_DESCRIPTION_8_19 = def(8_841_0_30); public static final TransportVersion ML_INFERENCE_HUGGING_FACE_CHAT_COMPLETION_ADDED_8_19 = def(8_841_0_31); public static final TransportVersion V_8_19_FIELD_CAPS_ADD_CLUSTER_ALIAS = def(8_841_0_32); - public static final TransportVersion ESQL_HASH_OPERATOR_STATUS_OUTPUT_TIME_8_19 = def(8_841_0_34); - public static final TransportVersion RERANKER_FAILURES_ALLOWED_8_19 = def(8_841_0_35); - public static final TransportVersion ML_INFERENCE_HUGGING_FACE_RERANK_ADDED_8_19 = def(8_841_0_36); - public static final TransportVersion ML_INFERENCE_SAGEMAKER_CHAT_COMPLETION_8_19 = def(8_841_0_37); - public static final TransportVersion ML_INFERENCE_VERTEXAI_CHATCOMPLETION_ADDED_8_19 = def(8_841_0_38); - public static final TransportVersion INFERENCE_CUSTOM_SERVICE_ADDED_8_19 = def(8_841_0_39); - public static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES_ADDED_8_19 = def(8_841_0_40); public static final TransportVersion INITIAL_ELASTICSEARCH_9_0 = def(9_000_0_00); public static final TransportVersion REMOVE_SNAPSHOT_FAILURES_90 = def(9_000_0_01); public static final TransportVersion TRANSPORT_STATS_HANDLING_TIME_REQUIRED_90 = def(9_000_0_02); @@ -204,7 +197,6 @@ static TransportVersion def(int id) { public static final TransportVersion SLM_UNHEALTHY_IF_NO_SNAPSHOT_WITHIN = def(9_010_0_00); public static final TransportVersion ESQL_SUPPORT_PARTIAL_RESULTS = def(9_011_0_00); public static final TransportVersion REMOVE_REPOSITORY_CONFLICT_MESSAGE = def(9_012_0_00); - public static final TransportVersion RERANKER_FAILURES_ALLOWED = def(9_013_0_00); public static final TransportVersion VOYAGE_AI_INTEGRATION_ADDED = def(9_014_0_00); public static final TransportVersion BYTE_SIZE_VALUE_ALWAYS_USES_BYTES = def(9_015_0_00); public static final TransportVersion ESQL_SERIALIZE_SOURCE_FUNCTIONS_WARNINGS = def(9_016_0_00); @@ -262,15 +254,9 @@ static TransportVersion def(int id) { public static final TransportVersion INFERENCE_ADD_TIMEOUT_PUT_ENDPOINT = def(9_074_0_00); public static final TransportVersion ESQL_FIELD_ATTRIBUTE_DROP_TYPE = def(9_075_0_00); public static final TransportVersion ESQL_TIME_SERIES_SOURCE_STATUS = def(9_076_0_00); - public static final TransportVersion ESQL_HASH_OPERATOR_STATUS_OUTPUT_TIME = def(9_077_0_00); public static final TransportVersion ML_INFERENCE_HUGGING_FACE_CHAT_COMPLETION_ADDED = def(9_078_0_00); public static final TransportVersion NODES_STATS_SUPPORTS_MULTI_PROJECT = def(9_079_0_00); - public static final TransportVersion ML_INFERENCE_HUGGING_FACE_RERANK_ADDED = def(9_080_0_00); - public static final TransportVersion ML_INFERENCE_SAGEMAKER_CHAT_COMPLETION = def(9_082_0_00); - public static final TransportVersion ML_INFERENCE_VERTEXAI_CHATCOMPLETION_ADDED = def(9_083_0_00); - public static final TransportVersion INFERENCE_CUSTOM_SERVICE_ADDED = def(9_084_0_00); public static final TransportVersion ESQL_LIMIT_ROW_SIZE = def(9_085_0_00); - public static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES = def(9_087_0_00); public static final TransportVersion SNAPSHOT_INDEX_SHARD_STATUS_MISSING_STATS = def(9_093_0_00); public static final TransportVersion SEARCH_LOAD_PER_INDEX_STATS = def(9_095_0_00); public static final TransportVersion HEAP_USAGE_IN_CLUSTER_INFO = def(9_096_0_00); diff --git a/server/src/main/resources/transport/definitions/referable/esql_hash_operator_status_output_time.csv b/server/src/main/resources/transport/definitions/referable/esql_hash_operator_status_output_time.csv new file mode 100644 index 0000000000000..3e0813793dbb1 --- /dev/null +++ b/server/src/main/resources/transport/definitions/referable/esql_hash_operator_status_output_time.csv @@ -0,0 +1 @@ +9077000,8841034 diff --git a/server/src/main/resources/transport/definitions/referable/idp_custom_saml_attributes.csv b/server/src/main/resources/transport/definitions/referable/idp_custom_saml_attributes.csv new file mode 100644 index 0000000000000..9cf553bbaf0b8 --- /dev/null +++ b/server/src/main/resources/transport/definitions/referable/idp_custom_saml_attributes.csv @@ -0,0 +1 @@ +9087000,8841040 diff --git a/server/src/main/resources/transport/definitions/referable/inference_custom_service_added.csv b/server/src/main/resources/transport/definitions/referable/inference_custom_service_added.csv new file mode 100644 index 0000000000000..f3df322636d71 --- /dev/null +++ b/server/src/main/resources/transport/definitions/referable/inference_custom_service_added.csv @@ -0,0 +1 @@ +9084000,8841039 diff --git a/server/src/main/resources/transport/definitions/referable/ml_inference_hugging_face_rerank_added.csv b/server/src/main/resources/transport/definitions/referable/ml_inference_hugging_face_rerank_added.csv new file mode 100644 index 0000000000000..d902e29af78c2 --- /dev/null +++ b/server/src/main/resources/transport/definitions/referable/ml_inference_hugging_face_rerank_added.csv @@ -0,0 +1 @@ +9080000,8841036 diff --git a/server/src/main/resources/transport/definitions/referable/ml_inference_sagemaker_chat_completion.csv b/server/src/main/resources/transport/definitions/referable/ml_inference_sagemaker_chat_completion.csv new file mode 100644 index 0000000000000..c81bb0fc03562 --- /dev/null +++ b/server/src/main/resources/transport/definitions/referable/ml_inference_sagemaker_chat_completion.csv @@ -0,0 +1 @@ +9082000,8841037 diff --git a/server/src/main/resources/transport/definitions/referable/ml_inference_vertexai_chatcompletion_added.csv b/server/src/main/resources/transport/definitions/referable/ml_inference_vertexai_chatcompletion_added.csv new file mode 100644 index 0000000000000..eef6a4174a9dc --- /dev/null +++ b/server/src/main/resources/transport/definitions/referable/ml_inference_vertexai_chatcompletion_added.csv @@ -0,0 +1 @@ +9083000,8841038 diff --git a/server/src/main/resources/transport/definitions/referable/reranker_failures_allowed.csv b/server/src/main/resources/transport/definitions/referable/reranker_failures_allowed.csv new file mode 100644 index 0000000000000..c0efde0a3bca5 --- /dev/null +++ b/server/src/main/resources/transport/definitions/referable/reranker_failures_allowed.csv @@ -0,0 +1 @@ +9013000,8841035 diff --git a/x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/operator/HashAggregationOperator.java b/x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/operator/HashAggregationOperator.java index cbce712ed9cdb..c0f2648ae1256 100644 --- a/x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/operator/HashAggregationOperator.java +++ b/x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/operator/HashAggregationOperator.java @@ -306,6 +306,10 @@ public static class Status implements Operator.Status { Status::new ); + private static final TransportVersion ESQL_HASH_OPERATOR_STATUS_OUTPUT_TIME = TransportVersion.fromName( + "esql_hash_operator_status_output_time" + ); + /** * Nanoseconds this operator has spent hashing grouping keys. */ @@ -359,8 +363,7 @@ protected Status(StreamInput in) throws IOException { rowsReceived = 0; rowsEmitted = 0; } - if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_HASH_OPERATOR_STATUS_OUTPUT_TIME) - || in.getTransportVersion().isPatchFrom(TransportVersions.ESQL_HASH_OPERATOR_STATUS_OUTPUT_TIME_8_19)) { + if (in.getTransportVersion().supports(ESQL_HASH_OPERATOR_STATUS_OUTPUT_TIME)) { emitNanos = in.readVLong(); } else { emitNanos = 0; @@ -377,8 +380,7 @@ public void writeTo(StreamOutput out) throws IOException { out.writeVLong(rowsReceived); out.writeVLong(rowsEmitted); } - if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_HASH_OPERATOR_STATUS_OUTPUT_TIME) - || out.getTransportVersion().isPatchFrom(TransportVersions.ESQL_HASH_OPERATOR_STATUS_OUTPUT_TIME_8_19)) { + if (out.getTransportVersion().supports(ESQL_HASH_OPERATOR_STATUS_OUTPUT_TIME)) { out.writeVLong(emitNanos); } } diff --git a/x-pack/plugin/identity-provider/src/main/java/org/elasticsearch/xpack/idp/action/SamlInitiateSingleSignOnRequest.java b/x-pack/plugin/identity-provider/src/main/java/org/elasticsearch/xpack/idp/action/SamlInitiateSingleSignOnRequest.java index 87b314b4de6f4..6610606a37264 100644 --- a/x-pack/plugin/identity-provider/src/main/java/org/elasticsearch/xpack/idp/action/SamlInitiateSingleSignOnRequest.java +++ b/x-pack/plugin/identity-provider/src/main/java/org/elasticsearch/xpack/idp/action/SamlInitiateSingleSignOnRequest.java @@ -6,7 +6,7 @@ */ package org.elasticsearch.xpack.idp.action; -import org.elasticsearch.TransportVersions; +import org.elasticsearch.TransportVersion; import org.elasticsearch.action.ActionRequestValidationException; import org.elasticsearch.action.LegacyActionRequest; import org.elasticsearch.common.Strings; @@ -21,6 +21,8 @@ public class SamlInitiateSingleSignOnRequest extends LegacyActionRequest { + private static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES = TransportVersion.fromName("idp_custom_saml_attributes"); + private String spEntityId; private String assertionConsumerService; private SamlAuthenticationState samlAuthenticationState; @@ -31,8 +33,7 @@ public SamlInitiateSingleSignOnRequest(StreamInput in) throws IOException { spEntityId = in.readString(); assertionConsumerService = in.readString(); samlAuthenticationState = in.readOptionalWriteable(SamlAuthenticationState::new); - if (in.getTransportVersion().isPatchFrom(TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES_ADDED_8_19) - || in.getTransportVersion().onOrAfter(TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES)) { + if (in.getTransportVersion().supports(IDP_CUSTOM_SAML_ATTRIBUTES)) { attributes = in.readOptionalWriteable(SamlInitiateSingleSignOnAttributes::new); } } @@ -100,8 +101,7 @@ public void writeTo(StreamOutput out) throws IOException { out.writeString(spEntityId); out.writeString(assertionConsumerService); out.writeOptionalWriteable(samlAuthenticationState); - if (out.getTransportVersion().isPatchFrom(TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES_ADDED_8_19) - || out.getTransportVersion().onOrAfter(TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES)) { + if (out.getTransportVersion().supports(IDP_CUSTOM_SAML_ATTRIBUTES)) { out.writeOptionalWriteable(attributes); } } diff --git a/x-pack/plugin/identity-provider/src/test/java/org/elasticsearch/xpack/idp/action/SamlInitiateSingleSignOnRequestTests.java b/x-pack/plugin/identity-provider/src/test/java/org/elasticsearch/xpack/idp/action/SamlInitiateSingleSignOnRequestTests.java index 6c280a2bd2a52..6670fa791506f 100644 --- a/x-pack/plugin/identity-provider/src/test/java/org/elasticsearch/xpack/idp/action/SamlInitiateSingleSignOnRequestTests.java +++ b/x-pack/plugin/identity-provider/src/test/java/org/elasticsearch/xpack/idp/action/SamlInitiateSingleSignOnRequestTests.java @@ -7,7 +7,6 @@ package org.elasticsearch.xpack.idp.action; import org.elasticsearch.TransportVersion; -import org.elasticsearch.TransportVersions; import org.elasticsearch.action.ActionRequestValidationException; import org.elasticsearch.common.io.stream.BytesStreamOutput; import org.elasticsearch.common.io.stream.StreamInput; @@ -27,6 +26,9 @@ public class SamlInitiateSingleSignOnRequestTests extends ESTestCase { + private static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES = TransportVersion.fromName("idp_custom_saml_attributes"); + private static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES_PATCH = IDP_CUSTOM_SAML_ATTRIBUTES.nextPatchVersion(); + public void testSerializationCurrentVersion() throws Exception { final SamlInitiateSingleSignOnRequest request = new SamlInitiateSingleSignOnRequest(); request.setSpEntityId("https://kibana_url"); @@ -43,11 +45,7 @@ public void testSerializationCurrentVersion() throws Exception { final BytesStreamOutput out = new BytesStreamOutput(); if (randomBoolean()) { out.setTransportVersion( - TransportVersionUtils.randomVersionBetween( - random(), - TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES, - TransportVersion.current() - ) + TransportVersionUtils.randomVersionBetween(random(), IDP_CUSTOM_SAML_ATTRIBUTES, TransportVersion.current()) ); } request.writeTo(out); @@ -79,7 +77,7 @@ public void testSerializationOldButCompatibleTransportVersion() throws Exception } assertThat("An invalid request is not guaranteed to serialize correctly", request.validate(), nullValue()); final BytesStreamOutput out = new BytesStreamOutput(); - out.setTransportVersion(TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES_ADDED_8_19); + out.setTransportVersion(IDP_CUSTOM_SAML_ATTRIBUTES_PATCH); request.writeTo(out); try (StreamInput in = out.bytes().streamInput()) { @@ -113,7 +111,7 @@ public void testSerializationOldTransportVersion() throws Exception { TransportVersionUtils.randomVersionBetween( random(), TransportVersion.minimumCompatible(), - TransportVersionUtils.getPreviousVersion(TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES_ADDED_8_19) + TransportVersionUtils.getPreviousVersion(IDP_CUSTOM_SAML_ATTRIBUTES_PATCH) ) ); request.writeTo(out); diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/rank/textsimilarity/TextSimilarityRankBuilder.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/rank/textsimilarity/TextSimilarityRankBuilder.java index 2a8af99721064..2fe1eced70f98 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/rank/textsimilarity/TextSimilarityRankBuilder.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/rank/textsimilarity/TextSimilarityRankBuilder.java @@ -50,6 +50,7 @@ public class TextSimilarityRankBuilder extends RankBuilder { License.OperationMode.ENTERPRISE ); + private static final TransportVersion RERANKER_FAILURES_ALLOWED = TransportVersion.fromName("reranker_failures_allowed"); private static final TransportVersion RERANK_SNIPPETS = TransportVersion.fromName("rerank_snippets"); private final String inferenceId; @@ -84,8 +85,7 @@ public TextSimilarityRankBuilder(StreamInput in) throws IOException { this.inferenceText = in.readString(); this.field = in.readString(); this.minScore = in.readOptionalFloat(); - if (in.getTransportVersion().isPatchFrom(TransportVersions.RERANKER_FAILURES_ALLOWED_8_19) - || in.getTransportVersion().onOrAfter(TransportVersions.RERANKER_FAILURES_ALLOWED)) { + if (in.getTransportVersion().supports(RERANKER_FAILURES_ALLOWED)) { this.failuresAllowed = in.readBoolean(); } else { this.failuresAllowed = false; @@ -114,8 +114,7 @@ public void doWriteTo(StreamOutput out) throws IOException { out.writeString(inferenceText); out.writeString(field); out.writeOptionalFloat(minScore); - if (out.getTransportVersion().isPatchFrom(TransportVersions.RERANKER_FAILURES_ALLOWED_8_19) - || out.getTransportVersion().onOrAfter(TransportVersions.RERANKER_FAILURES_ALLOWED)) { + if (out.getTransportVersion().supports(RERANKER_FAILURES_ALLOWED)) { out.writeBoolean(failuresAllowed); } if (out.getTransportVersion().supports(RERANK_SNIPPETS)) { diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomSecretSettings.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomSecretSettings.java index 2e38838b95551..284099eff87d2 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomSecretSettings.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomSecretSettings.java @@ -8,7 +8,6 @@ package org.elasticsearch.xpack.inference.services.custom; import org.elasticsearch.TransportVersion; -import org.elasticsearch.TransportVersions; import org.elasticsearch.common.ValidationException; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -29,6 +28,8 @@ public class CustomSecretSettings implements SecretSettings { public static final String NAME = "custom_secret_settings"; public static final String SECRET_PARAMETERS = "secret_parameters"; + private static final TransportVersion INFERENCE_CUSTOM_SERVICE_ADDED = TransportVersion.fromName("inference_custom_service_added"); + public static CustomSecretSettings fromMap(@Nullable Map map) { if (map == null) { return null; @@ -89,13 +90,12 @@ public String getWriteableName() { @Override public TransportVersion getMinimalSupportedVersion() { assert false : "should never be called when supportsVersion is used"; - return TransportVersions.INFERENCE_CUSTOM_SERVICE_ADDED; + return INFERENCE_CUSTOM_SERVICE_ADDED; } @Override public boolean supportsVersion(TransportVersion version) { - return version.onOrAfter(TransportVersions.INFERENCE_CUSTOM_SERVICE_ADDED) - || version.isPatchFrom(TransportVersions.INFERENCE_CUSTOM_SERVICE_ADDED_8_19); + return version.supports(INFERENCE_CUSTOM_SERVICE_ADDED); } @Override diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomService.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomService.java index aa7fd1337428f..3a57eb1b87473 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomService.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomService.java @@ -9,7 +9,6 @@ import org.elasticsearch.ElasticsearchStatusException; import org.elasticsearch.TransportVersion; -import org.elasticsearch.TransportVersions; import org.elasticsearch.action.ActionListener; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.ValidationException; @@ -71,6 +70,8 @@ public class CustomService extends SenderService implements RerankingInferenceSe public static final String NAME = "custom"; private static final String SERVICE_NAME = "Custom"; + private static final TransportVersion INFERENCE_CUSTOM_SERVICE_ADDED = TransportVersion.fromName("inference_custom_service_added"); + private static final EnumSet supportedTaskTypes = EnumSet.of( TaskType.TEXT_EMBEDDING, TaskType.SPARSE_EMBEDDING, @@ -371,7 +372,7 @@ private static CustomServiceSettings getCustomServiceSettings(CustomModel custom @Override public TransportVersion getMinimalSupportedVersion() { - return TransportVersions.INFERENCE_CUSTOM_SERVICE_ADDED; + return INFERENCE_CUSTOM_SERVICE_ADDED; } @Override diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomServiceSettings.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomServiceSettings.java index 033facb7f9e9f..5986b2104ffb1 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomServiceSettings.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomServiceSettings.java @@ -8,7 +8,6 @@ package org.elasticsearch.xpack.inference.services.custom; import org.elasticsearch.TransportVersion; -import org.elasticsearch.TransportVersions; import org.elasticsearch.common.Strings; import org.elasticsearch.common.ValidationException; import org.elasticsearch.common.io.stream.StreamInput; @@ -65,6 +64,7 @@ public class CustomServiceSettings extends FilteredXContentObject implements Ser private static final String RESPONSE_SCOPE = String.join(".", ModelConfigurations.SERVICE_SETTINGS, RESPONSE); private static final int DEFAULT_EMBEDDING_BATCH_SIZE = 10; + private static final TransportVersion INFERENCE_CUSTOM_SERVICE_ADDED = TransportVersion.fromName("inference_custom_service_added"); private static final TransportVersion ML_INFERENCE_CUSTOM_SERVICE_REMOVE_ERROR_PARSING = TransportVersion.fromName( "ml_inference_custom_service_remove_error_parsing" ); @@ -427,13 +427,12 @@ public ToXContentObject getFilteredXContentObject() { @Override public TransportVersion getMinimalSupportedVersion() { assert false : "should never be called when supportsVersion is used"; - return TransportVersions.INFERENCE_CUSTOM_SERVICE_ADDED; + return INFERENCE_CUSTOM_SERVICE_ADDED; } @Override public boolean supportsVersion(TransportVersion version) { - return version.onOrAfter(TransportVersions.INFERENCE_CUSTOM_SERVICE_ADDED) - || version.isPatchFrom(TransportVersions.INFERENCE_CUSTOM_SERVICE_ADDED_8_19); + return version.supports(INFERENCE_CUSTOM_SERVICE_ADDED); } @Override diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomTaskSettings.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomTaskSettings.java index 7733f586ae8c2..17ef65b1028a4 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomTaskSettings.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomTaskSettings.java @@ -8,7 +8,6 @@ package org.elasticsearch.xpack.inference.services.custom; import org.elasticsearch.TransportVersion; -import org.elasticsearch.TransportVersions; import org.elasticsearch.common.ValidationException; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -31,6 +30,8 @@ public class CustomTaskSettings implements TaskSettings { static final CustomTaskSettings EMPTY_SETTINGS = new CustomTaskSettings(new HashMap<>()); + private static final TransportVersion INFERENCE_CUSTOM_SERVICE_ADDED = TransportVersion.fromName("inference_custom_service_added"); + public static CustomTaskSettings fromMap(Map map) { ValidationException validationException = new ValidationException(); if (map == null || map.isEmpty()) { @@ -98,13 +99,12 @@ public String getWriteableName() { @Override public TransportVersion getMinimalSupportedVersion() { assert false : "should never be called when supportsVersion is used"; - return TransportVersions.INFERENCE_CUSTOM_SERVICE_ADDED; + return INFERENCE_CUSTOM_SERVICE_ADDED; } @Override public boolean supportsVersion(TransportVersion version) { - return version.onOrAfter(TransportVersions.INFERENCE_CUSTOM_SERVICE_ADDED) - || version.isPatchFrom(TransportVersions.INFERENCE_CUSTOM_SERVICE_ADDED_8_19); + return version.supports(INFERENCE_CUSTOM_SERVICE_ADDED); } @Override diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/completion/GoogleVertexAiChatCompletionServiceSettings.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/completion/GoogleVertexAiChatCompletionServiceSettings.java index 280976ea181c7..a637a456b0052 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/completion/GoogleVertexAiChatCompletionServiceSettings.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/completion/GoogleVertexAiChatCompletionServiceSettings.java @@ -8,7 +8,6 @@ package org.elasticsearch.xpack.inference.services.googlevertexai.completion; import org.elasticsearch.TransportVersion; -import org.elasticsearch.TransportVersions; import org.elasticsearch.common.Strings; import org.elasticsearch.common.ValidationException; import org.elasticsearch.common.io.stream.StreamInput; @@ -52,6 +51,10 @@ public class GoogleVertexAiChatCompletionServiceSettings extends FilteredXConten public static final String NAME = "google_vertex_ai_chatcompletion_service_settings"; + private static final TransportVersion ML_INFERENCE_VERTEXAI_CHATCOMPLETION_ADDED = TransportVersion.fromName( + "ml_inference_vertexai_chatcompletion_added" + ); + private final String location; private final String modelId; private final String projectId; @@ -266,13 +269,12 @@ public RateLimitSettings rateLimitSettings() { @Override public TransportVersion getMinimalSupportedVersion() { assert false : "should never be called when supportsVersion is used"; - return TransportVersions.ML_INFERENCE_VERTEXAI_CHATCOMPLETION_ADDED; + return ML_INFERENCE_VERTEXAI_CHATCOMPLETION_ADDED; } @Override public boolean supportsVersion(TransportVersion version) { - return version.onOrAfter(TransportVersions.ML_INFERENCE_VERTEXAI_CHATCOMPLETION_ADDED) - || version.isPatchFrom(TransportVersions.ML_INFERENCE_VERTEXAI_CHATCOMPLETION_ADDED_8_19); + return version.supports(ML_INFERENCE_VERTEXAI_CHATCOMPLETION_ADDED); } @Override diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/huggingface/rerank/HuggingFaceRerankServiceSettings.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/huggingface/rerank/HuggingFaceRerankServiceSettings.java index 57c103bbbf3b9..5ae0f0813310a 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/huggingface/rerank/HuggingFaceRerankServiceSettings.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/huggingface/rerank/HuggingFaceRerankServiceSettings.java @@ -8,7 +8,6 @@ package org.elasticsearch.xpack.inference.services.huggingface.rerank; import org.elasticsearch.TransportVersion; -import org.elasticsearch.TransportVersions; import org.elasticsearch.common.ValidationException; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -39,6 +38,10 @@ public class HuggingFaceRerankServiceSettings extends FilteredXContentObject private static final RateLimitSettings DEFAULT_RATE_LIMIT_SETTINGS = new RateLimitSettings(3000); + private static final TransportVersion ML_INFERENCE_HUGGING_FACE_RERANK_ADDED = TransportVersion.fromName( + "ml_inference_sagemaker_chat_completion" + ); + public static HuggingFaceRerankServiceSettings fromMap(Map map, ConfigurationParseContext context) { ValidationException validationException = new ValidationException(); var uri = extractUri(map, URL, validationException); @@ -116,13 +119,12 @@ public String getWriteableName() { @Override public TransportVersion getMinimalSupportedVersion() { assert false : "should never be called when supportsVersion is used"; - return TransportVersions.ML_INFERENCE_HUGGING_FACE_RERANK_ADDED; + return ML_INFERENCE_HUGGING_FACE_RERANK_ADDED; } @Override public boolean supportsVersion(TransportVersion version) { - return version.onOrAfter(TransportVersions.ML_INFERENCE_HUGGING_FACE_RERANK_ADDED) - || version.isPatchFrom(TransportVersions.ML_INFERENCE_HUGGING_FACE_RERANK_ADDED_8_19); + return version.supports(ML_INFERENCE_HUGGING_FACE_RERANK_ADDED); } @Override diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/huggingface/rerank/HuggingFaceRerankTaskSettings.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/huggingface/rerank/HuggingFaceRerankTaskSettings.java index 8b9e9113bce12..4fdcfbfa8a4a4 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/huggingface/rerank/HuggingFaceRerankTaskSettings.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/huggingface/rerank/HuggingFaceRerankTaskSettings.java @@ -8,7 +8,6 @@ package org.elasticsearch.xpack.inference.services.huggingface.rerank; import org.elasticsearch.TransportVersion; -import org.elasticsearch.TransportVersions; import org.elasticsearch.common.ValidationException; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -33,6 +32,10 @@ public class HuggingFaceRerankTaskSettings implements TaskSettings { static final HuggingFaceRerankTaskSettings EMPTY_SETTINGS = new HuggingFaceRerankTaskSettings(null, null); + private static final TransportVersion ML_INFERENCE_HUGGING_FACE_RERANK_ADDED = TransportVersion.fromName( + "ml_inference_hugging_face_rerank_added" + ); + public static HuggingFaceRerankTaskSettings fromMap(Map map) { ValidationException validationException = new ValidationException(); @@ -119,13 +122,12 @@ public String getWriteableName() { @Override public TransportVersion getMinimalSupportedVersion() { assert false : "should never be called when supportsVersion is used"; - return TransportVersions.ML_INFERENCE_HUGGING_FACE_RERANK_ADDED; + return ML_INFERENCE_HUGGING_FACE_RERANK_ADDED; } @Override public boolean supportsVersion(TransportVersion version) { - return version.onOrAfter(TransportVersions.ML_INFERENCE_HUGGING_FACE_RERANK_ADDED) - || version.isPatchFrom(TransportVersions.ML_INFERENCE_HUGGING_FACE_RERANK_ADDED_8_19); + return version.supports(ML_INFERENCE_HUGGING_FACE_RERANK_ADDED); } @Override diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/sagemaker/schema/openai/SageMakerOpenAiTaskSettings.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/sagemaker/schema/openai/SageMakerOpenAiTaskSettings.java index b8ce19ba712bf..dce4f832d1bb1 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/sagemaker/schema/openai/SageMakerOpenAiTaskSettings.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/sagemaker/schema/openai/SageMakerOpenAiTaskSettings.java @@ -8,7 +8,6 @@ package org.elasticsearch.xpack.inference.services.sagemaker.schema.openai; import org.elasticsearch.TransportVersion; -import org.elasticsearch.TransportVersions; import org.elasticsearch.common.ValidationException; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -26,6 +25,10 @@ record SageMakerOpenAiTaskSettings(@Nullable String user) implements SageMakerSt static final String NAME = "sagemaker_openai_task_settings"; private static final String USER_FIELD = "user"; + public static final TransportVersion ML_INFERENCE_SAGEMAKER_CHAT_COMPLETION = TransportVersion.fromName( + "ml_inference_sagemaker_chat_completion" + ); + SageMakerOpenAiTaskSettings(StreamInput in) throws IOException { this(in.readOptionalString()); } @@ -38,13 +41,12 @@ public String getWriteableName() { @Override public TransportVersion getMinimalSupportedVersion() { assert false : "should never be called when supportsVersion is used"; - return TransportVersions.ML_INFERENCE_SAGEMAKER_CHAT_COMPLETION; + return ML_INFERENCE_SAGEMAKER_CHAT_COMPLETION; } @Override public boolean supportsVersion(TransportVersion version) { - return version.onOrAfter(TransportVersions.ML_INFERENCE_SAGEMAKER_CHAT_COMPLETION) - || version.isPatchFrom(TransportVersions.ML_INFERENCE_SAGEMAKER_CHAT_COMPLETION_8_19); + return version.supports(ML_INFERENCE_SAGEMAKER_CHAT_COMPLETION); } @Override