From 7debad11654819ac2171e9c2f3e79ca77275b540 Mon Sep 17 00:00:00 2001 From: Simon Cooper Date: Tue, 4 Mar 2025 14:33:30 +0000 Subject: [PATCH 1/2] Collapse transport versions for 8.17.0 --- .../org/elasticsearch/TransportVersions.java | 26 +------------------ .../admin/cluster/node/info/NodeInfo.java | 4 +-- .../admin/cluster/stats/MappingStats.java | 3 +-- .../indices/stats/IndicesStatsResponse.java | 14 ++-------- .../action/bulk/SimulateBulkRequest.java | 4 +-- .../action/index/IndexRequest.java | 4 +-- .../action/support/IndicesOptions.java | 4 +-- .../org/elasticsearch/index/IndexMode.java | 2 +- .../ingest/PipelineConfiguration.java | 4 +-- .../org/elasticsearch/monitor/os/OsStats.java | 8 +++--- .../search/builder/SearchSourceBuilder.java | 4 +-- .../application/LogsDBFeatureSetUsage.java | 10 +++---- .../action/GetInferenceModelAction.java | 6 ++--- .../permission/RemoteClusterPermissions.java | 3 +-- .../security/authc/AuthenticationTests.java | 2 +- .../RemoteClusterPermissionsTests.java | 2 +- .../deprecation/DeprecationInfoAction.java | 6 ++--- .../rules/QueryRulesetListItem.java | 4 +-- .../rules/retriever/RuleQueryRankDoc.java | 2 +- ...setsActionResponseBWCSerializingTests.java | 2 +- .../esql/core/expression/FieldAttribute.java | 4 +-- .../xpack/esql/action/EsqlExecutionInfo.java | 4 +-- .../esql/enrich/EnrichLookupService.java | 4 +-- .../esql/enrich/LookupFromIndexService.java | 4 +-- .../GoogleVertexAiEmbeddingsTaskSettings.java | 6 ++--- ...leVertexAiEmbeddingsTaskSettingsTests.java | 2 +- 26 files changed, 48 insertions(+), 90 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/TransportVersions.java b/server/src/main/java/org/elasticsearch/TransportVersions.java index 4f82aa0e5ef1b..2e7c780e8e462 100644 --- a/server/src/main/java/org/elasticsearch/TransportVersions.java +++ b/server/src/main/java/org/elasticsearch/TransportVersions.java @@ -105,31 +105,7 @@ static TransportVersion def(int id) { public static final TransportVersion INITIAL_ELASTICSEARCH_8_16_5 = def(8_772_0_05); public static final TransportVersion REMOVE_MIN_COMPATIBLE_SHARD_NODE = def(8_773_0_00); public static final TransportVersion REVERT_REMOVE_MIN_COMPATIBLE_SHARD_NODE = def(8_774_0_00); - public static final TransportVersion ESQL_FIELD_ATTRIBUTE_PARENT_SIMPLIFIED = def(8_775_0_00); - public static final TransportVersion INFERENCE_DONT_PERSIST_ON_READ = def(8_776_0_00); - public static final TransportVersion SIMULATE_MAPPING_ADDITION = def(8_777_0_00); - public static final TransportVersion INTRODUCE_ALL_APPLICABLE_SELECTOR = def(8_778_0_00); - public static final TransportVersion INDEX_MODE_LOOKUP = def(8_779_0_00); - public static final TransportVersion INDEX_REQUEST_REMOVE_METERING = def(8_780_0_00); - public static final TransportVersion CPU_STAT_STRING_PARSING = def(8_781_0_00); - public static final TransportVersion QUERY_RULES_RETRIEVER = def(8_782_0_00); - public static final TransportVersion ESQL_CCS_EXEC_INFO_WITH_FAILURES = def(8_783_0_00); - public static final TransportVersion LOGSDB_TELEMETRY = def(8_784_0_00); - public static final TransportVersion LOGSDB_TELEMETRY_STATS = def(8_785_0_00); - public static final TransportVersion KQL_QUERY_ADDED = def(8_786_0_00); - public static final TransportVersion ROLE_MONITOR_STATS = def(8_787_0_00); - public static final TransportVersion DATA_STREAM_INDEX_VERSION_DEPRECATION_CHECK = def(8_788_0_00); - public static final TransportVersion ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO = def(8_789_0_00); - public static final TransportVersion VERTEX_AI_INPUT_TYPE_ADDED = def(8_790_0_00); - public static final TransportVersion SKIP_INNER_HITS_SEARCH_SOURCE = def(8_791_0_00); - public static final TransportVersion QUERY_RULES_LIST_INCLUDES_TYPES = def(8_792_0_00); - public static final TransportVersion INDEX_STATS_ADDITIONAL_FIELDS = def(8_793_0_00); - public static final TransportVersion INDEX_STATS_ADDITIONAL_FIELDS_REVERT = def(8_794_0_00); - public static final TransportVersion FAST_REFRESH_RCO_2 = def(8_795_0_00); - public static final TransportVersion ESQL_ENRICH_RUNTIME_WARNINGS = def(8_796_0_00); - public static final TransportVersion INGEST_PIPELINE_CONFIGURATION_AS_MAP = def(8_797_0_00); - public static final TransportVersion LOGSDB_TELEMETRY_CUSTOM_CUTOFF_DATE_FIX_8_17 = def(8_797_0_01); - public static final TransportVersion SOURCE_MODE_TELEMETRY_FIX_8_17 = def(8_797_0_02); + public static final TransportVersion V_8_17_0 = def(8_797_0_02); public static final TransportVersion INITIAL_ELASTICSEARCH_8_17_3 = def(8_797_0_03); public static final TransportVersion INITIAL_ELASTICSEARCH_8_17_4 = def(8_797_0_04); public static final TransportVersion INDEXING_PRESSURE_THROTTLING_STATS = def(8_798_0_00); diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodeInfo.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodeInfo.java index 08825706c09ef..122541481fd1f 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodeInfo.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodeInfo.java @@ -67,7 +67,7 @@ public NodeInfo(StreamInput in) throws IOException { if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_12_0)) { version = in.readString(); if (in.getTransportVersion().isPatchFrom(TransportVersions.ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO_BACKPORT_8_16) - || in.getTransportVersion().onOrAfter(TransportVersions.ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO)) { + || in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { compatibilityVersions = CompatibilityVersions.readVersion(in); } else { compatibilityVersions = new CompatibilityVersions(TransportVersion.readVersion(in), Map.of()); // unknown mappings versions @@ -253,7 +253,7 @@ public void writeTo(StreamOutput out) throws IOException { Version.writeVersion(Version.fromString(version), out); } if (out.getTransportVersion().isPatchFrom(TransportVersions.ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO_BACKPORT_8_16) - || out.getTransportVersion().onOrAfter(TransportVersions.ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO)) { + || out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { compatibilityVersions.writeTo(out); } else if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) { TransportVersion.writeVersion(compatibilityVersions.transportVersion(), out); diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/stats/MappingStats.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/stats/MappingStats.java index 02b581ecbdda2..686d432b01a20 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/stats/MappingStats.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/stats/MappingStats.java @@ -291,8 +291,7 @@ public void writeTo(StreamOutput out) throws IOException { } private static boolean canReadOrWriteSourceModeTelemetry(TransportVersion version) { - return version.isPatchFrom(TransportVersions.SOURCE_MODE_TELEMETRY_FIX_8_17) - || version.onOrAfter(TransportVersions.SOURCE_MODE_TELEMETRY); + return version.isPatchFrom(TransportVersions.V_8_17_0) || version.onOrAfter(TransportVersions.SOURCE_MODE_TELEMETRY); } private static OptionalLong ofNullable(Long l) { diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java b/server/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java index 0b1cc98f07b42..efcb50cdd2c52 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java @@ -55,14 +55,9 @@ public class IndicesStatsResponse extends ChunkedBroadcastResponse { IndicesStatsResponse(StreamInput in) throws IOException { super(in); shards = in.readArray(ShardStats::new, ShardStats[]::new); - if (in.getTransportVersion().onOrAfter(TransportVersions.INDEX_STATS_ADDITIONAL_FIELDS_REVERT)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { indexHealthMap = in.readMap(ClusterHealthStatus::readFrom); indexStateMap = in.readMap(IndexMetadata.State::readFrom); - } else if (in.getTransportVersion().onOrAfter(TransportVersions.INDEX_STATS_ADDITIONAL_FIELDS)) { - indexHealthMap = in.readMap(ClusterHealthStatus::readFrom); - indexStateMap = in.readMap(IndexMetadata.State::readFrom); - in.readMap(StreamInput::readStringCollectionAsList); // unused, reverted - in.readMap(StreamInput::readLong); // unused, reverted } else if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_1_0)) { // Between 8.1 and INDEX_STATS_ADDITIONAL_FIELDS, we had a different format for the response // where we only had health and state available. @@ -186,14 +181,9 @@ public CommonStats getPrimaries() { public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); out.writeArray(shards); - if (out.getTransportVersion().onOrAfter(TransportVersions.INDEX_STATS_ADDITIONAL_FIELDS_REVERT)) { - out.writeMap(indexHealthMap, StreamOutput::writeWriteable); - out.writeMap(indexStateMap, StreamOutput::writeWriteable); - } else if (out.getTransportVersion().onOrAfter(TransportVersions.INDEX_STATS_ADDITIONAL_FIELDS)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { out.writeMap(indexHealthMap, StreamOutput::writeWriteable); out.writeMap(indexStateMap, StreamOutput::writeWriteable); - out.writeMap(Map.of(), StreamOutput::writeStringCollection); - out.writeMap(Map.of(), StreamOutput::writeLong); } else if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_1_0)) { out.writeMap(indexHealthMap, StreamOutput::writeWriteable); out.writeMap(indexStateMap, StreamOutput::writeWriteable); diff --git a/server/src/main/java/org/elasticsearch/action/bulk/SimulateBulkRequest.java b/server/src/main/java/org/elasticsearch/action/bulk/SimulateBulkRequest.java index 290d342e9dc12..60485047e70a1 100644 --- a/server/src/main/java/org/elasticsearch/action/bulk/SimulateBulkRequest.java +++ b/server/src/main/java/org/elasticsearch/action/bulk/SimulateBulkRequest.java @@ -142,7 +142,7 @@ public SimulateBulkRequest(StreamInput in) throws IOException { componentTemplateSubstitutions = Map.of(); indexTemplateSubstitutions = Map.of(); } - if (in.getTransportVersion().onOrAfter(TransportVersions.SIMULATE_MAPPING_ADDITION)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { this.mappingAddition = (Map) in.readGenericValue(); } else { mappingAddition = Map.of(); @@ -157,7 +157,7 @@ public void writeTo(StreamOutput out) throws IOException { out.writeGenericValue(componentTemplateSubstitutions); out.writeGenericValue(indexTemplateSubstitutions); } - if (out.getTransportVersion().onOrAfter(TransportVersions.SIMULATE_MAPPING_ADDITION)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { out.writeGenericValue(mappingAddition); } } diff --git a/server/src/main/java/org/elasticsearch/action/index/IndexRequest.java b/server/src/main/java/org/elasticsearch/action/index/IndexRequest.java index 4ed38ba16b60e..b2a02dce403a5 100644 --- a/server/src/main/java/org/elasticsearch/action/index/IndexRequest.java +++ b/server/src/main/java/org/elasticsearch/action/index/IndexRequest.java @@ -203,7 +203,7 @@ public IndexRequest(@Nullable ShardId shardId, StreamInput in) throws IOExceptio requireDataStream = false; } - if (in.getTransportVersion().before(TransportVersions.INDEX_REQUEST_REMOVE_METERING)) { + if (in.getTransportVersion().before(TransportVersions.V_8_17_0)) { if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_13_0)) { in.readZLong(); // obsolete normalisedBytesParsed } @@ -803,7 +803,7 @@ private void writeBody(StreamOutput out) throws IOException { out.writeBoolean(requireDataStream); } - if (out.getTransportVersion().before(TransportVersions.INDEX_REQUEST_REMOVE_METERING)) { + if (out.getTransportVersion().before(TransportVersions.V_8_17_0)) { if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_13_0)) { out.writeZLong(-1); // obsolete normalisedBytesParsed } diff --git a/server/src/main/java/org/elasticsearch/action/support/IndicesOptions.java b/server/src/main/java/org/elasticsearch/action/support/IndicesOptions.java index b300fc647a18f..ae55c3f552502 100644 --- a/server/src/main/java/org/elasticsearch/action/support/IndicesOptions.java +++ b/server/src/main/java/org/elasticsearch/action/support/IndicesOptions.java @@ -911,7 +911,7 @@ public void writeIndicesOptions(StreamOutput out) throws IOException { } if (out.getTransportVersion() .between(TransportVersions.V_8_16_0, TransportVersions.REPLACE_FAILURE_STORE_OPTIONS_WITH_SELECTOR_SYNTAX)) { - if (out.getTransportVersion().before(TransportVersions.INTRODUCE_ALL_APPLICABLE_SELECTOR)) { + if (out.getTransportVersion().before(TransportVersions.V_8_17_0)) { out.writeVInt(1); // Enum set sized 1 out.writeVInt(0); // ordinal 0 (::data selector) } else { @@ -955,7 +955,7 @@ public static IndicesOptions readIndicesOptions(StreamInput in) throws IOExcepti if (in.getTransportVersion() .between(TransportVersions.V_8_16_0, TransportVersions.REPLACE_FAILURE_STORE_OPTIONS_WITH_SELECTOR_SYNTAX)) { // Reading from an older node, which will be sending either an enum set or a single byte that needs to be read out and ignored. - if (in.getTransportVersion().before(TransportVersions.INTRODUCE_ALL_APPLICABLE_SELECTOR)) { + if (in.getTransportVersion().before(TransportVersions.V_8_17_0)) { int size = in.readVInt(); for (int i = 0; i < size; i++) { in.readVInt(); diff --git a/server/src/main/java/org/elasticsearch/index/IndexMode.java b/server/src/main/java/org/elasticsearch/index/IndexMode.java index a4708f93335cc..2be1c6fc41d96 100644 --- a/server/src/main/java/org/elasticsearch/index/IndexMode.java +++ b/server/src/main/java/org/elasticsearch/index/IndexMode.java @@ -587,7 +587,7 @@ public static void writeTo(IndexMode indexMode, StreamOutput out) throws IOExcep case STANDARD -> 0; case TIME_SERIES -> 1; case LOGSDB -> 2; - case LOOKUP -> out.getTransportVersion().onOrAfter(TransportVersions.INDEX_MODE_LOOKUP) ? 3 : 0; + case LOOKUP -> out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0) ? 3 : 0; }; out.writeByte((byte) code); } diff --git a/server/src/main/java/org/elasticsearch/ingest/PipelineConfiguration.java b/server/src/main/java/org/elasticsearch/ingest/PipelineConfiguration.java index f628130983a39..d258eeb9ed050 100644 --- a/server/src/main/java/org/elasticsearch/ingest/PipelineConfiguration.java +++ b/server/src/main/java/org/elasticsearch/ingest/PipelineConfiguration.java @@ -168,7 +168,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws public static PipelineConfiguration readFrom(StreamInput in) throws IOException { final String id = in.readString(); final Map config; - if (in.getTransportVersion().onOrAfter(TransportVersions.INGEST_PIPELINE_CONFIGURATION_AS_MAP)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { config = in.readGenericMap(); } else { final BytesReference bytes = in.readSlicedBytesReference(); @@ -190,7 +190,7 @@ public String toString() { @Override public void writeTo(StreamOutput out) throws IOException { out.writeString(id); - if (out.getTransportVersion().onOrAfter(TransportVersions.INGEST_PIPELINE_CONFIGURATION_AS_MAP)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { out.writeGenericMap(config); } else { XContentBuilder builder = XContentBuilder.builder(JsonXContent.jsonXContent).prettyPrint(); diff --git a/server/src/main/java/org/elasticsearch/monitor/os/OsStats.java b/server/src/main/java/org/elasticsearch/monitor/os/OsStats.java index 6c1ba2dfbe63a..fe08d30e0dd87 100644 --- a/server/src/main/java/org/elasticsearch/monitor/os/OsStats.java +++ b/server/src/main/java/org/elasticsearch/monitor/os/OsStats.java @@ -488,7 +488,7 @@ public Cgroup( Cgroup(final StreamInput in) throws IOException { cpuAcctControlGroup = in.readString(); - if (in.getTransportVersion().onOrAfter(TransportVersions.CPU_STAT_STRING_PARSING)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { cpuAcctUsageNanos = in.readBigInteger(); } else { cpuAcctUsageNanos = BigInteger.valueOf(in.readLong()); @@ -505,7 +505,7 @@ public Cgroup( @Override public void writeTo(final StreamOutput out) throws IOException { out.writeString(cpuAcctControlGroup); - if (out.getTransportVersion().onOrAfter(TransportVersions.CPU_STAT_STRING_PARSING)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { out.writeBigInteger(cpuAcctUsageNanos); } else { out.writeLong(cpuAcctUsageNanos.longValue()); @@ -605,7 +605,7 @@ public CpuStat( } CpuStat(final StreamInput in) throws IOException { - if (in.getTransportVersion().onOrAfter(TransportVersions.CPU_STAT_STRING_PARSING)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { numberOfElapsedPeriods = in.readBigInteger(); numberOfTimesThrottled = in.readBigInteger(); timeThrottledNanos = in.readBigInteger(); @@ -618,7 +618,7 @@ public CpuStat( @Override public void writeTo(final StreamOutput out) throws IOException { - if (out.getTransportVersion().onOrAfter(TransportVersions.CPU_STAT_STRING_PARSING)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { out.writeBigInteger(numberOfElapsedPeriods); out.writeBigInteger(numberOfTimesThrottled); out.writeBigInteger(timeThrottledNanos); diff --git a/server/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java b/server/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java index 6d47493e4d063..5250dff5a9cfe 100644 --- a/server/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java @@ -289,7 +289,7 @@ public SearchSourceBuilder(StreamInput in) throws IOException { rankBuilder = in.readOptionalNamedWriteable(RankBuilder.class); } if (in.getTransportVersion().isPatchFrom(TransportVersions.SKIP_INNER_HITS_SEARCH_SOURCE_BACKPORT_8_16) - || in.getTransportVersion().onOrAfter(TransportVersions.SKIP_INNER_HITS_SEARCH_SOURCE)) { + || in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { skipInnerHits = in.readBoolean(); } else { skipInnerHits = false; @@ -384,7 +384,7 @@ public void writeTo(StreamOutput out) throws IOException { throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion().toReleaseVersion() + "]"); } if (out.getTransportVersion().isPatchFrom(TransportVersions.SKIP_INNER_HITS_SEARCH_SOURCE_BACKPORT_8_16) - || out.getTransportVersion().onOrAfter(TransportVersions.SKIP_INNER_HITS_SEARCH_SOURCE)) { + || out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { out.writeBoolean(skipInnerHits); } } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/application/LogsDBFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/application/LogsDBFeatureSetUsage.java index b32e95c5fc9d8..f35dcfadf0beb 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/application/LogsDBFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/application/LogsDBFeatureSetUsage.java @@ -28,7 +28,7 @@ public LogsDBFeatureSetUsage(StreamInput input) throws IOException { super(input); indicesCount = input.readVInt(); indicesWithSyntheticSource = input.readVInt(); - if (input.getTransportVersion().onOrAfter(TransportVersions.LOGSDB_TELEMETRY_STATS)) { + if (input.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { numDocs = input.readVLong(); sizeInBytes = input.readVLong(); } else { @@ -36,7 +36,7 @@ public LogsDBFeatureSetUsage(StreamInput input) throws IOException { sizeInBytes = 0; } var transportVersion = input.getTransportVersion(); - if (transportVersion.isPatchFrom(TransportVersions.LOGSDB_TELEMETRY_CUSTOM_CUTOFF_DATE_FIX_8_17) + if (transportVersion.isPatchFrom(TransportVersions.V_8_17_0) || transportVersion.onOrAfter(TransportVersions.LOGSDB_TELEMETRY_CUSTOM_CUTOFF_DATE)) { hasCustomCutoffDate = input.readBoolean(); } else { @@ -49,12 +49,12 @@ public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); out.writeVInt(indicesCount); out.writeVInt(indicesWithSyntheticSource); - if (out.getTransportVersion().onOrAfter(TransportVersions.LOGSDB_TELEMETRY_STATS)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { out.writeVLong(numDocs); out.writeVLong(sizeInBytes); } var transportVersion = out.getTransportVersion(); - if (transportVersion.isPatchFrom(TransportVersions.LOGSDB_TELEMETRY_CUSTOM_CUTOFF_DATE_FIX_8_17) + if (transportVersion.isPatchFrom(TransportVersions.V_8_17_0) || transportVersion.onOrAfter(TransportVersions.LOGSDB_TELEMETRY_CUSTOM_CUTOFF_DATE)) { out.writeBoolean(hasCustomCutoffDate); } @@ -79,7 +79,7 @@ public LogsDBFeatureSetUsage( @Override public TransportVersion getMinimalSupportedVersion() { - return TransportVersions.LOGSDB_TELEMETRY; + return TransportVersions.V_8_17_0; } @Override diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/action/GetInferenceModelAction.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/action/GetInferenceModelAction.java index ba3d417d02672..00c73e4d8edc9 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/action/GetInferenceModelAction.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/action/GetInferenceModelAction.java @@ -62,8 +62,7 @@ public Request(StreamInput in) throws IOException { super(in); this.inferenceEntityId = in.readString(); this.taskType = TaskType.fromStream(in); - if (in.getTransportVersion().onOrAfter(TransportVersions.INFERENCE_DONT_PERSIST_ON_READ) - || in.getTransportVersion().isPatchFrom(TransportVersions.V_8_16_0)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_16_0)) { this.persistDefaultConfig = in.readBoolean(); } else { this.persistDefaultConfig = PERSIST_DEFAULT_CONFIGS; @@ -88,8 +87,7 @@ public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); out.writeString(inferenceEntityId); taskType.writeTo(out); - if (out.getTransportVersion().onOrAfter(TransportVersions.INFERENCE_DONT_PERSIST_ON_READ) - || out.getTransportVersion().isPatchFrom(TransportVersions.V_8_16_0)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_16_0)) { out.writeBoolean(this.persistDefaultConfig); } } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/permission/RemoteClusterPermissions.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/permission/RemoteClusterPermissions.java index 1928cf117dde3..006015a9c8541 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/permission/RemoteClusterPermissions.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/permission/RemoteClusterPermissions.java @@ -32,8 +32,6 @@ import java.util.TreeSet; import java.util.stream.Collectors; -import static org.elasticsearch.TransportVersions.ROLE_MONITOR_STATS; - /** * Represents the set of permissions for remote clusters. This is intended to be the model for both the {@link RoleDescriptor} * and {@link Role}. This model is intended to be converted to local cluster permissions @@ -71,6 +69,7 @@ public class RemoteClusterPermissions implements NamedWriteable, ToXContentObject { public static final TransportVersion ROLE_REMOTE_CLUSTER_PRIVS = TransportVersions.V_8_15_0; + public static final TransportVersion ROLE_MONITOR_STATS = TransportVersions.V_8_17_0; public static final String NAME = "remote_cluster_permissions"; private static final Logger logger = LogManager.getLogger(RemoteClusterPermissions.class); diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authc/AuthenticationTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authc/AuthenticationTests.java index c999c970a76da..a485c495b5583 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authc/AuthenticationTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authc/AuthenticationTests.java @@ -44,10 +44,10 @@ import java.util.stream.Collectors; import static java.util.Map.entry; -import static org.elasticsearch.TransportVersions.ROLE_MONITOR_STATS; import static org.elasticsearch.xpack.core.security.authc.Authentication.VERSION_API_KEY_ROLES_AS_BYTES; import static org.elasticsearch.xpack.core.security.authc.AuthenticationTestHelper.randomCrossClusterAccessSubjectInfo; import static org.elasticsearch.xpack.core.security.authc.CrossClusterAccessSubjectInfoTests.randomRoleDescriptorsIntersection; +import static org.elasticsearch.xpack.core.security.authz.permission.RemoteClusterPermissions.ROLE_MONITOR_STATS; import static org.elasticsearch.xpack.core.security.authz.permission.RemoteClusterPermissions.ROLE_REMOTE_CLUSTER_PRIVS; import static org.hamcrest.Matchers.anEmptyMap; import static org.hamcrest.Matchers.containsString; diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/permission/RemoteClusterPermissionsTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/permission/RemoteClusterPermissionsTests.java index a39aff3a6137f..fbf85d216fce5 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/permission/RemoteClusterPermissionsTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/permission/RemoteClusterPermissionsTests.java @@ -31,7 +31,7 @@ import java.util.Set; import java.util.stream.Collectors; -import static org.elasticsearch.TransportVersions.ROLE_MONITOR_STATS; +import static org.elasticsearch.xpack.core.security.authz.permission.RemoteClusterPermissions.ROLE_MONITOR_STATS; import static org.elasticsearch.xpack.core.security.authz.permission.RemoteClusterPermissions.ROLE_REMOTE_CLUSTER_PRIVS; import static org.elasticsearch.xpack.core.security.authz.permission.RemoteClusterPermissions.lastTransportVersionPermission; import static org.hamcrest.Matchers.containsString; diff --git a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationInfoAction.java b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationInfoAction.java index 1fceb917ece53..cf88f21689edb 100644 --- a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationInfoAction.java +++ b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationInfoAction.java @@ -67,8 +67,7 @@ public Response(StreamInput in) throws IOException { if (in.getTransportVersion().before(TransportVersions.RESOURCE_DEPRECATION_CHECKS)) { mutableResourceDeprecations.put(IndexDeprecationChecker.NAME, in.readMapOfLists(DeprecationIssue::new)); } - if (in.getTransportVersion() - .between(TransportVersions.DATA_STREAM_INDEX_VERSION_DEPRECATION_CHECK, TransportVersions.RESOURCE_DEPRECATION_CHECKS)) { + if (in.getTransportVersion().between(TransportVersions.V_8_17_0, TransportVersions.RESOURCE_DEPRECATION_CHECKS)) { mutableResourceDeprecations.put(DataStreamDeprecationChecker.NAME, in.readMapOfLists(DeprecationIssue::new)); } if (in.getTransportVersion().before(TransportVersions.V_7_11_0)) { @@ -140,8 +139,7 @@ public void writeTo(StreamOutput out) throws IOException { if (out.getTransportVersion().before(TransportVersions.RESOURCE_DEPRECATION_CHECKS)) { out.writeMap(getIndexSettingsIssues(), StreamOutput::writeCollection); } - if (out.getTransportVersion() - .between(TransportVersions.DATA_STREAM_INDEX_VERSION_DEPRECATION_CHECK, TransportVersions.RESOURCE_DEPRECATION_CHECKS)) { + if (out.getTransportVersion().between(TransportVersions.V_8_17_0, TransportVersions.RESOURCE_DEPRECATION_CHECKS)) { out.writeMap(getDataStreamDeprecationIssues(), StreamOutput::writeCollection); } if (out.getTransportVersion().before(TransportVersions.V_7_11_0)) { diff --git a/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/QueryRulesetListItem.java b/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/QueryRulesetListItem.java index d694b2681ee88..0d0f3b6994615 100644 --- a/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/QueryRulesetListItem.java +++ b/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/QueryRulesetListItem.java @@ -69,7 +69,7 @@ public QueryRulesetListItem(StreamInput in) throws IOException { } TransportVersion streamTransportVersion = in.getTransportVersion(); if (streamTransportVersion.isPatchFrom(TransportVersions.QUERY_RULES_LIST_INCLUDES_TYPES_BACKPORT_8_16) - || streamTransportVersion.onOrAfter(TransportVersions.QUERY_RULES_LIST_INCLUDES_TYPES)) { + || streamTransportVersion.onOrAfter(TransportVersions.V_8_17_0)) { this.ruleTypeToCountMap = in.readMap(m -> in.readEnum(QueryRule.QueryRuleType.class), StreamInput::readInt); } else { this.ruleTypeToCountMap = Map.of(); @@ -104,7 +104,7 @@ public void writeTo(StreamOutput out) throws IOException { } TransportVersion streamTransportVersion = out.getTransportVersion(); if (streamTransportVersion.isPatchFrom(TransportVersions.QUERY_RULES_LIST_INCLUDES_TYPES_BACKPORT_8_16) - || streamTransportVersion.onOrAfter(TransportVersions.QUERY_RULES_LIST_INCLUDES_TYPES)) { + || streamTransportVersion.onOrAfter(TransportVersions.V_8_17_0)) { out.writeMap(ruleTypeToCountMap, StreamOutput::writeEnum, StreamOutput::writeInt); } } diff --git a/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/retriever/RuleQueryRankDoc.java b/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/retriever/RuleQueryRankDoc.java index 59f3d9aed31ce..aa9d06a62b6c4 100644 --- a/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/retriever/RuleQueryRankDoc.java +++ b/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/retriever/RuleQueryRankDoc.java @@ -121,6 +121,6 @@ protected void doToXContent(XContentBuilder builder, Params params) throws IOExc @Override public TransportVersion getMinimalSupportedVersion() { - return TransportVersions.QUERY_RULES_RETRIEVER; + return TransportVersions.V_8_17_0; } } diff --git a/x-pack/plugin/ent-search/src/test/java/org/elasticsearch/xpack/application/rules/action/ListQueryRulesetsActionResponseBWCSerializingTests.java b/x-pack/plugin/ent-search/src/test/java/org/elasticsearch/xpack/application/rules/action/ListQueryRulesetsActionResponseBWCSerializingTests.java index c822dd123d3f8..0a3fac282fcff 100644 --- a/x-pack/plugin/ent-search/src/test/java/org/elasticsearch/xpack/application/rules/action/ListQueryRulesetsActionResponseBWCSerializingTests.java +++ b/x-pack/plugin/ent-search/src/test/java/org/elasticsearch/xpack/application/rules/action/ListQueryRulesetsActionResponseBWCSerializingTests.java @@ -60,7 +60,7 @@ protected ListQueryRulesetsAction.Response mutateInstanceForVersion( TransportVersion version ) { if (version.isPatchFrom(TransportVersions.QUERY_RULES_LIST_INCLUDES_TYPES_BACKPORT_8_16) - || version.onOrAfter(TransportVersions.QUERY_RULES_LIST_INCLUDES_TYPES)) { + || version.onOrAfter(TransportVersions.V_8_17_0)) { return instance; } else if (version.onOrAfter(QueryRulesetListItem.EXPANDED_RULESET_COUNT_TRANSPORT_VERSION)) { List updatedResults = new ArrayList<>(); diff --git a/x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/expression/FieldAttribute.java b/x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/expression/FieldAttribute.java index d7ae438bc3189..0f29c9b1da068 100644 --- a/x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/expression/FieldAttribute.java +++ b/x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/expression/FieldAttribute.java @@ -148,7 +148,7 @@ public static FieldAttribute readFrom(StreamInput in) throws IOException { } private void writeParentName(StreamOutput out) throws IOException { - if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_FIELD_ATTRIBUTE_PARENT_SIMPLIFIED)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { ((PlanStreamOutput) out).writeOptionalCachedString(parentName); } else { // Previous versions only used the parent field attribute to retrieve the parent's name, so we can use just any @@ -159,7 +159,7 @@ private void writeParentName(StreamOutput out) throws IOException { } private static String readParentName(StreamInput in) throws IOException { - if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_FIELD_ATTRIBUTE_PARENT_SIMPLIFIED)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { return ((PlanStreamInput) in).readOptionalCachedString(); } diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlExecutionInfo.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlExecutionInfo.java index 76a790b25c8d2..ba986403a8350 100644 --- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlExecutionInfo.java +++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlExecutionInfo.java @@ -424,7 +424,7 @@ public Cluster(StreamInput in) throws IOException { this.failedShards = in.readOptionalInt(); this.took = in.readOptionalTimeValue(); this.skipUnavailable = in.readBoolean(); - if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_CCS_EXEC_INFO_WITH_FAILURES)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { this.failures = Collections.unmodifiableList(in.readCollectionAsList(ShardSearchFailure::readShardSearchFailure)); } else { this.failures = Collections.emptyList(); @@ -442,7 +442,7 @@ public void writeTo(StreamOutput out) throws IOException { out.writeOptionalInt(failedShards); out.writeOptionalTimeValue(took); out.writeBoolean(skipUnavailable); - if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_CCS_EXEC_INFO_WITH_FAILURES)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { out.writeCollection(failures); } } diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/enrich/EnrichLookupService.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/enrich/EnrichLookupService.java index 1dc18c090c1dd..67783c2556cd6 100644 --- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/enrich/EnrichLookupService.java +++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/enrich/EnrichLookupService.java @@ -211,7 +211,7 @@ static TransportRequest readFrom(StreamInput in, BlockFactory blockFactory) thro PlanStreamInput planIn = new PlanStreamInput(in, in.namedWriteableRegistry(), null); List extractFields = planIn.readNamedWriteableCollectionAsList(NamedExpression.class); var source = Source.EMPTY; - if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_ENRICH_RUNTIME_WARNINGS)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { source = Source.readFrom(planIn); } TransportRequest result = new TransportRequest( @@ -242,7 +242,7 @@ public void writeTo(StreamOutput out) throws IOException { out.writeWriteable(inputPage); PlanStreamOutput planOut = new PlanStreamOutput(out, null); planOut.writeNamedWriteableCollection(extractFields); - if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_ENRICH_RUNTIME_WARNINGS)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { source.writeTo(planOut); } } diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/enrich/LookupFromIndexService.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/enrich/LookupFromIndexService.java index 62d9733a04581..b372570ed5026 100644 --- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/enrich/LookupFromIndexService.java +++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/enrich/LookupFromIndexService.java @@ -149,7 +149,7 @@ static TransportRequest readFrom(StreamInput in, BlockFactory blockFactory) thro List extractFields = planIn.readNamedWriteableCollectionAsList(NamedExpression.class); String matchField = in.readString(); var source = Source.EMPTY; - if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_ENRICH_RUNTIME_WARNINGS)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { source = Source.readFrom(planIn); } // Source.readFrom() requires the query from the Configuration passed to PlanStreamInput. @@ -182,7 +182,7 @@ public void writeTo(StreamOutput out) throws IOException { PlanStreamOutput planOut = new PlanStreamOutput(out, null); planOut.writeNamedWriteableCollection(extractFields); out.writeString(matchField); - if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_ENRICH_RUNTIME_WARNINGS)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { source.writeTo(planOut); } if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_LOOKUP_JOIN_SOURCE_TEXT)) { diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/embeddings/GoogleVertexAiEmbeddingsTaskSettings.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/embeddings/GoogleVertexAiEmbeddingsTaskSettings.java index 9b759a4661bce..e3c9c3524584c 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/embeddings/GoogleVertexAiEmbeddingsTaskSettings.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/embeddings/GoogleVertexAiEmbeddingsTaskSettings.java @@ -107,9 +107,7 @@ public GoogleVertexAiEmbeddingsTaskSettings(@Nullable Boolean autoTruncate, @Nul public GoogleVertexAiEmbeddingsTaskSettings(StreamInput in) throws IOException { this.autoTruncate = in.readOptionalBoolean(); - var inputType = (in.getTransportVersion().onOrAfter(TransportVersions.VERTEX_AI_INPUT_TYPE_ADDED)) - ? in.readOptionalEnum(InputType.class) - : null; + var inputType = (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) ? in.readOptionalEnum(InputType.class) : null; validateInputType(inputType); this.inputType = inputType; @@ -150,7 +148,7 @@ public TransportVersion getMinimalSupportedVersion() { public void writeTo(StreamOutput out) throws IOException { out.writeOptionalBoolean(this.autoTruncate); - if (out.getTransportVersion().onOrAfter(TransportVersions.VERTEX_AI_INPUT_TYPE_ADDED)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { out.writeOptionalEnum(this.inputType); } } diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/googlevertexai/embeddings/GoogleVertexAiEmbeddingsTaskSettingsTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/googlevertexai/embeddings/GoogleVertexAiEmbeddingsTaskSettingsTests.java index 0a390b114702c..45af4a94c3f17 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/googlevertexai/embeddings/GoogleVertexAiEmbeddingsTaskSettingsTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/googlevertexai/embeddings/GoogleVertexAiEmbeddingsTaskSettingsTests.java @@ -256,7 +256,7 @@ protected GoogleVertexAiEmbeddingsTaskSettings mutateInstanceForVersion( GoogleVertexAiEmbeddingsTaskSettings instance, TransportVersion version ) { - if (version.before(TransportVersions.VERTEX_AI_INPUT_TYPE_ADDED)) { + if (version.before(TransportVersions.V_8_17_0)) { // default to null input type if node is on a version before input type was introduced return new GoogleVertexAiEmbeddingsTaskSettings(instance.autoTruncate(), null); } From e2510ceb658328ab71262ce84a90a4be4f5f2f47 Mon Sep 17 00:00:00 2001 From: Simon Cooper Date: Wed, 5 Mar 2025 13:26:36 +0000 Subject: [PATCH 2/2] Remove duplicate branch --- .../admin/indices/stats/IndicesStatsResponse.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java b/server/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java index efcb50cdd2c52..43dcdf220e6d2 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java @@ -55,10 +55,7 @@ public class IndicesStatsResponse extends ChunkedBroadcastResponse { IndicesStatsResponse(StreamInput in) throws IOException { super(in); shards = in.readArray(ShardStats::new, ShardStats[]::new); - if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { - indexHealthMap = in.readMap(ClusterHealthStatus::readFrom); - indexStateMap = in.readMap(IndexMetadata.State::readFrom); - } else if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_1_0)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_1_0)) { // Between 8.1 and INDEX_STATS_ADDITIONAL_FIELDS, we had a different format for the response // where we only had health and state available. indexHealthMap = in.readMap(ClusterHealthStatus::readFrom); @@ -181,10 +178,7 @@ public CommonStats getPrimaries() { public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); out.writeArray(shards); - if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) { - out.writeMap(indexHealthMap, StreamOutput::writeWriteable); - out.writeMap(indexStateMap, StreamOutput::writeWriteable); - } else if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_1_0)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_1_0)) { out.writeMap(indexHealthMap, StreamOutput::writeWriteable); out.writeMap(indexStateMap, StreamOutput::writeWriteable); }