From 8c5a278b266f4fb98f6356ea821d90519df23011 Mon Sep 17 00:00:00 2001 From: Jack Conradson Date: Mon, 29 Sep 2025 11:38:16 -0700 Subject: [PATCH 1/4] Migrate transport versions 8841_040 through 8841_036 --- .../CollectTransportVersionReferencesTask.java | 2 +- .../java/org/elasticsearch/TransportVersions.java | 10 ---------- .../referable/idp_custom_saml_attributes.csv | 1 + .../referable/inference_custom_service_added.csv | 1 + .../ml_inference_hugging_face_rerank_added.csv | 1 + .../ml_inference_sagemaker_chat_completion.csv | 1 + ...ml_inference_vertexai_chatcompletion_added.csv | 1 + .../xpack/esql/core/type/DataType.java | 3 +-- .../action/SamlInitiateSingleSignOnRequest.java | 10 +++++----- .../SamlInitiateSingleSignOnRequestTests.java | 15 +++++++-------- .../services/custom/CustomSecretSettings.java | 8 ++++---- .../inference/services/custom/CustomService.java | 5 +++-- .../services/custom/CustomServiceSettings.java | 7 +++---- .../services/custom/CustomTaskSettings.java | 8 ++++---- ...ogleVertexAiChatCompletionServiceSettings.java | 10 ++++++---- .../rerank/HuggingFaceRerankServiceSettings.java | 10 ++++++---- .../rerank/HuggingFaceRerankTaskSettings.java | 10 ++++++---- .../openai/SageMakerOpenAiTaskSettings.java | 10 ++++++---- 18 files changed, 57 insertions(+), 56 deletions(-) create mode 100644 server/src/main/resources/transport/definitions/referable/idp_custom_saml_attributes.csv create mode 100644 server/src/main/resources/transport/definitions/referable/inference_custom_service_added.csv create mode 100644 server/src/main/resources/transport/definitions/referable/ml_inference_hugging_face_rerank_added.csv create mode 100644 server/src/main/resources/transport/definitions/referable/ml_inference_sagemaker_chat_completion.csv create mode 100644 server/src/main/resources/transport/definitions/referable/ml_inference_vertexai_chatcompletion_added.csv 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..1d05c5912ce6f 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 @@ -123,7 +123,7 @@ public void visitMethodInsn(int opcode, String owner, String name, String descri } }; ClassReader classReader = new ClassReader(classBytes); - classReader.accept(classVisitor, 0); + classReader.accept(classVisitor, ClassReader.SKIP_DEBUG); } private static String classname(String filename) { diff --git a/server/src/main/java/org/elasticsearch/TransportVersions.java b/server/src/main/java/org/elasticsearch/TransportVersions.java index 383b1f8590486..b1126f4723067 100644 --- a/server/src/main/java/org/elasticsearch/TransportVersions.java +++ b/server/src/main/java/org/elasticsearch/TransportVersions.java @@ -177,11 +177,6 @@ static TransportVersion def(int id) { 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); @@ -265,12 +260,7 @@ static TransportVersion def(int id) { 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/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/x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/type/DataType.java b/x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/type/DataType.java index 7a7d5e15e5a9e..47c175666c722 100644 --- a/x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/type/DataType.java +++ b/x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/type/DataType.java @@ -35,7 +35,6 @@ import static java.util.stream.Collectors.toMap; import static org.elasticsearch.TransportVersions.INFERENCE_REQUEST_ADAPTIVE_RATE_LIMITING; -import static org.elasticsearch.TransportVersions.ML_INFERENCE_SAGEMAKER_CHAT_COMPLETION; /** * This enum represents data types the ES|QL query processing layer is able to @@ -327,7 +326,7 @@ public enum DataType implements Writeable { .estimatedSize(4096) .createdVersion( // Version created just *after* we committed support for dense_vector - ML_INFERENCE_SAGEMAKER_CHAT_COMPLETION + TransportVersion.fromName("ml_inference_sagemaker_chat_completion") ) ); 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..95898aca4561a 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,10 @@ 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 = TransportVersion.fromName("idp_custom_saml_attributes") + .nextPatchVersion(); + public void testSerializationCurrentVersion() throws Exception { final SamlInitiateSingleSignOnRequest request = new SamlInitiateSingleSignOnRequest(); request.setSpEntityId("https://kibana_url"); @@ -43,11 +46,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 +78,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 +112,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/services/custom/CustomSecretSettings.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/custom/CustomSecretSettings.java index 2e38838b95551..ed297e00f9da9 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"); + 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 fd29b02012185..3988bc66d674e 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"); + private static final EnumSet supportedTaskTypes = EnumSet.of( TaskType.TEXT_EMBEDDING, TaskType.SPARSE_EMBEDDING, @@ -359,7 +360,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..6a08cce627a10 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"); 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..a3d8aae563f48 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"); + 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..b9a6414332b73 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.fromString( + "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..ce407c5b19a7e 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_sagemaker_chat_completion" + ); + 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 From d9b60648732323d2795a7d60b010603f727a59cd Mon Sep 17 00:00:00 2001 From: Jack Conradson Date: Mon, 29 Sep 2025 14:06:11 -0700 Subject: [PATCH 2/4] fix asm labels --- .../transport/CollectTransportVersionReferencesTask.java | 8 +++++++- .../inference/services/custom/CustomSecretSettings.java | 2 +- .../xpack/inference/services/custom/CustomService.java | 2 +- .../inference/services/custom/CustomServiceSettings.java | 2 +- .../inference/services/custom/CustomTaskSettings.java | 2 +- .../GoogleVertexAiChatCompletionServiceSettings.java | 2 +- .../huggingface/rerank/HuggingFaceRerankTaskSettings.java | 2 +- 7 files changed, 13 insertions(+), 7 deletions(-) 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 1d05c5912ce6f..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)) { @@ -123,7 +129,7 @@ public void visitMethodInsn(int opcode, String owner, String name, String descri } }; ClassReader classReader = new ClassReader(classBytes); - classReader.accept(classVisitor, ClassReader.SKIP_DEBUG); + classReader.accept(classVisitor, 0); } private static String classname(String filename) { 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 ed297e00f9da9..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 @@ -28,7 +28,7 @@ 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"); + private static final TransportVersion INFERENCE_CUSTOM_SERVICE_ADDED = TransportVersion.fromName("inference_custom_service_added"); public static CustomSecretSettings fromMap(@Nullable Map map) { if (map == null) { 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 3988bc66d674e..cb6deadbd50a7 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 @@ -70,7 +70,7 @@ 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"); + private static final TransportVersion INFERENCE_CUSTOM_SERVICE_ADDED = TransportVersion.fromName("inference_custom_service_added"); private static final EnumSet supportedTaskTypes = EnumSet.of( TaskType.TEXT_EMBEDDING, 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 6a08cce627a10..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 @@ -64,7 +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"); + 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" ); 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 a3d8aae563f48..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 @@ -30,7 +30,7 @@ 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"); + private static final TransportVersion INFERENCE_CUSTOM_SERVICE_ADDED = TransportVersion.fromName("inference_custom_service_added"); public static CustomTaskSettings fromMap(Map map) { ValidationException validationException = new ValidationException(); 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 b9a6414332b73..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 @@ -51,7 +51,7 @@ 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.fromString( + private static final TransportVersion ML_INFERENCE_VERTEXAI_CHATCOMPLETION_ADDED = TransportVersion.fromName( "ml_inference_vertexai_chatcompletion_added" ); 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 ce407c5b19a7e..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 @@ -33,7 +33,7 @@ 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_sagemaker_chat_completion" + "ml_inference_hugging_face_rerank_added" ); public static HuggingFaceRerankTaskSettings fromMap(Map map) { From 632893708cd8b01bab5ec630e4144e2525c15266 Mon Sep 17 00:00:00 2001 From: Jack Conradson Date: Mon, 29 Sep 2025 14:58:53 -0700 Subject: [PATCH 3/4] Migrate transport versions 8841_035 and 8841_034 --- .../main/java/org/elasticsearch/TransportVersions.java | 4 ---- .../esql_hash_operator_status_output_time.csv | 1 + .../referable/reranker_failures_allowed.csv | 1 + .../compute/operator/HashAggregationOperator.java | 10 ++++++---- .../rank/textsimilarity/TextSimilarityRankBuilder.java | 7 +++---- 5 files changed, 11 insertions(+), 12 deletions(-) create mode 100644 server/src/main/resources/transport/definitions/referable/esql_hash_operator_status_output_time.csv create mode 100644 server/src/main/resources/transport/definitions/referable/reranker_failures_allowed.csv diff --git a/server/src/main/java/org/elasticsearch/TransportVersions.java b/server/src/main/java/org/elasticsearch/TransportVersions.java index b1126f4723067..57221e0b51044 100644 --- a/server/src/main/java/org/elasticsearch/TransportVersions.java +++ b/server/src/main/java/org/elasticsearch/TransportVersions.java @@ -175,8 +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 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); @@ -199,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); @@ -257,7 +254,6 @@ 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 ESQL_LIMIT_ROW_SIZE = def(9_085_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/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/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)) { From a27a73620931c463a3c355dd3125b8f99d0d821b Mon Sep 17 00:00:00 2001 From: Jack Conradson Date: Mon, 29 Sep 2025 15:19:59 -0700 Subject: [PATCH 4/4] fix constant --- .../xpack/idp/action/SamlInitiateSingleSignOnRequestTests.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 95898aca4561a..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 @@ -27,8 +27,7 @@ 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 = TransportVersion.fromName("idp_custom_saml_attributes") - .nextPatchVersion(); + private static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES_PATCH = IDP_CUSTOM_SAML_ATTRIBUTES.nextPatchVersion(); public void testSerializationCurrentVersion() throws Exception { final SamlInitiateSingleSignOnRequest request = new SamlInitiateSingleSignOnRequest();