Collapse transport versions for 8.17.0 (#124005)

This commit is contained in:
Simon Cooper 2025-03-05 15:18:01 +00:00 committed by GitHub
parent 152d086c0f
commit 22a7b5ea12
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 48 additions and 102 deletions

View file

@ -103,31 +103,7 @@ public class TransportVersions {
public static final TransportVersion INITIAL_ELASTICSEARCH_8_16_6 = def(8_772_0_06); public static final TransportVersion INITIAL_ELASTICSEARCH_8_16_6 = def(8_772_0_06);
public static final TransportVersion REMOVE_MIN_COMPATIBLE_SHARD_NODE = def(8_773_0_00); 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 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 V_8_17_0 = def(8_797_0_02);
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 INITIAL_ELASTICSEARCH_8_17_3 = def(8_797_0_03); 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 INITIAL_ELASTICSEARCH_8_17_4 = def(8_797_0_04);
public static final TransportVersion INDEXING_PRESSURE_THROTTLING_STATS = def(8_798_0_00); public static final TransportVersion INDEXING_PRESSURE_THROTTLING_STATS = def(8_798_0_00);

View file

@ -66,8 +66,7 @@ public class NodeInfo extends BaseNodeResponse {
super(in); super(in);
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_12_0)) { if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_12_0)) {
version = in.readString(); version = in.readString();
if (in.getTransportVersion().isPatchFrom(TransportVersions.V_8_16_1) if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_16_1)) {
|| in.getTransportVersion().onOrAfter(TransportVersions.ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO)) {
compatibilityVersions = CompatibilityVersions.readVersion(in); compatibilityVersions = CompatibilityVersions.readVersion(in);
} else { } else {
compatibilityVersions = new CompatibilityVersions(TransportVersion.readVersion(in), Map.of()); // unknown mappings versions compatibilityVersions = new CompatibilityVersions(TransportVersion.readVersion(in), Map.of()); // unknown mappings versions
@ -252,8 +251,7 @@ public class NodeInfo extends BaseNodeResponse {
} else { } else {
Version.writeVersion(Version.fromString(version), out); Version.writeVersion(Version.fromString(version), out);
} }
if (out.getTransportVersion().isPatchFrom(TransportVersions.V_8_16_1) if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_16_1)) {
|| out.getTransportVersion().onOrAfter(TransportVersions.ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO)) {
compatibilityVersions.writeTo(out); compatibilityVersions.writeTo(out);
} else if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) { } else if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
TransportVersion.writeVersion(compatibilityVersions.transportVersion(), out); TransportVersion.writeVersion(compatibilityVersions.transportVersion(), out);

View file

@ -291,8 +291,7 @@ public final class MappingStats implements ToXContentFragment, Writeable {
} }
private static boolean canReadOrWriteSourceModeTelemetry(TransportVersion version) { private static boolean canReadOrWriteSourceModeTelemetry(TransportVersion version) {
return version.isPatchFrom(TransportVersions.SOURCE_MODE_TELEMETRY_FIX_8_17) return version.isPatchFrom(TransportVersions.V_8_17_0) || version.onOrAfter(TransportVersions.SOURCE_MODE_TELEMETRY);
|| version.onOrAfter(TransportVersions.SOURCE_MODE_TELEMETRY);
} }
private static OptionalLong ofNullable(Long l) { private static OptionalLong ofNullable(Long l) {

View file

@ -55,15 +55,7 @@ public class IndicesStatsResponse extends ChunkedBroadcastResponse {
IndicesStatsResponse(StreamInput in) throws IOException { IndicesStatsResponse(StreamInput in) throws IOException {
super(in); super(in);
shards = in.readArray(ShardStats::new, ShardStats[]::new); shards = in.readArray(ShardStats::new, ShardStats[]::new);
if (in.getTransportVersion().onOrAfter(TransportVersions.INDEX_STATS_ADDITIONAL_FIELDS_REVERT)) { if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_1_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 // Between 8.1 and INDEX_STATS_ADDITIONAL_FIELDS, we had a different format for the response
// where we only had health and state available. // where we only had health and state available.
indexHealthMap = in.readMap(ClusterHealthStatus::readFrom); indexHealthMap = in.readMap(ClusterHealthStatus::readFrom);
@ -186,15 +178,7 @@ public class IndicesStatsResponse extends ChunkedBroadcastResponse {
public void writeTo(StreamOutput out) throws IOException { public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out); super.writeTo(out);
out.writeArray(shards); out.writeArray(shards);
if (out.getTransportVersion().onOrAfter(TransportVersions.INDEX_STATS_ADDITIONAL_FIELDS_REVERT)) { if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_1_0)) {
out.writeMap(indexHealthMap, StreamOutput::writeWriteable);
out.writeMap(indexStateMap, StreamOutput::writeWriteable);
} else if (out.getTransportVersion().onOrAfter(TransportVersions.INDEX_STATS_ADDITIONAL_FIELDS)) {
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(indexHealthMap, StreamOutput::writeWriteable);
out.writeMap(indexStateMap, StreamOutput::writeWriteable); out.writeMap(indexStateMap, StreamOutput::writeWriteable);
} }

View file

@ -142,7 +142,7 @@ public class SimulateBulkRequest extends BulkRequest {
componentTemplateSubstitutions = Map.of(); componentTemplateSubstitutions = Map.of();
indexTemplateSubstitutions = 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<String, Object>) in.readGenericValue(); this.mappingAddition = (Map<String, Object>) in.readGenericValue();
} else { } else {
mappingAddition = Map.of(); mappingAddition = Map.of();
@ -157,7 +157,7 @@ public class SimulateBulkRequest extends BulkRequest {
out.writeGenericValue(componentTemplateSubstitutions); out.writeGenericValue(componentTemplateSubstitutions);
out.writeGenericValue(indexTemplateSubstitutions); out.writeGenericValue(indexTemplateSubstitutions);
} }
if (out.getTransportVersion().onOrAfter(TransportVersions.SIMULATE_MAPPING_ADDITION)) { if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
out.writeGenericValue(mappingAddition); out.writeGenericValue(mappingAddition);
} }
} }

View file

@ -203,7 +203,7 @@ public class IndexRequest extends ReplicatedWriteRequest<IndexRequest> implement
requireDataStream = false; 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)) { if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_13_0)) {
in.readZLong(); // obsolete normalisedBytesParsed in.readZLong(); // obsolete normalisedBytesParsed
} }
@ -803,7 +803,7 @@ public class IndexRequest extends ReplicatedWriteRequest<IndexRequest> implement
out.writeBoolean(requireDataStream); 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)) { if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_13_0)) {
out.writeZLong(-1); // obsolete normalisedBytesParsed out.writeZLong(-1); // obsolete normalisedBytesParsed
} }

View file

@ -911,7 +911,7 @@ public record IndicesOptions(
} }
if (out.getTransportVersion() if (out.getTransportVersion()
.between(TransportVersions.V_8_16_0, TransportVersions.REPLACE_FAILURE_STORE_OPTIONS_WITH_SELECTOR_SYNTAX)) { .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(1); // Enum set sized 1
out.writeVInt(0); // ordinal 0 (::data selector) out.writeVInt(0); // ordinal 0 (::data selector)
} else { } else {
@ -955,7 +955,7 @@ public record IndicesOptions(
if (in.getTransportVersion() if (in.getTransportVersion()
.between(TransportVersions.V_8_16_0, TransportVersions.REPLACE_FAILURE_STORE_OPTIONS_WITH_SELECTOR_SYNTAX)) { .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. // 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(); int size = in.readVInt();
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
in.readVInt(); in.readVInt();

View file

@ -587,7 +587,7 @@ public enum IndexMode {
case STANDARD -> 0; case STANDARD -> 0;
case TIME_SERIES -> 1; case TIME_SERIES -> 1;
case LOGSDB -> 2; 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); out.writeByte((byte) code);
} }

View file

@ -168,7 +168,7 @@ public final class PipelineConfiguration implements SimpleDiffable<PipelineConfi
public static PipelineConfiguration readFrom(StreamInput in) throws IOException { public static PipelineConfiguration readFrom(StreamInput in) throws IOException {
final String id = in.readString(); final String id = in.readString();
final Map<String, Object> config; final Map<String, Object> config;
if (in.getTransportVersion().onOrAfter(TransportVersions.INGEST_PIPELINE_CONFIGURATION_AS_MAP)) { if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
config = in.readGenericMap(); config = in.readGenericMap();
} else { } else {
final BytesReference bytes = in.readSlicedBytesReference(); final BytesReference bytes = in.readSlicedBytesReference();
@ -190,7 +190,7 @@ public final class PipelineConfiguration implements SimpleDiffable<PipelineConfi
@Override @Override
public void writeTo(StreamOutput out) throws IOException { public void writeTo(StreamOutput out) throws IOException {
out.writeString(id); 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); out.writeGenericMap(config);
} else { } else {
XContentBuilder builder = XContentBuilder.builder(JsonXContent.jsonXContent).prettyPrint(); XContentBuilder builder = XContentBuilder.builder(JsonXContent.jsonXContent).prettyPrint();

View file

@ -488,7 +488,7 @@ public class OsStats implements Writeable, ToXContentFragment {
Cgroup(final StreamInput in) throws IOException { Cgroup(final StreamInput in) throws IOException {
cpuAcctControlGroup = in.readString(); cpuAcctControlGroup = in.readString();
if (in.getTransportVersion().onOrAfter(TransportVersions.CPU_STAT_STRING_PARSING)) { if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
cpuAcctUsageNanos = in.readBigInteger(); cpuAcctUsageNanos = in.readBigInteger();
} else { } else {
cpuAcctUsageNanos = BigInteger.valueOf(in.readLong()); cpuAcctUsageNanos = BigInteger.valueOf(in.readLong());
@ -505,7 +505,7 @@ public class OsStats implements Writeable, ToXContentFragment {
@Override @Override
public void writeTo(final StreamOutput out) throws IOException { public void writeTo(final StreamOutput out) throws IOException {
out.writeString(cpuAcctControlGroup); out.writeString(cpuAcctControlGroup);
if (out.getTransportVersion().onOrAfter(TransportVersions.CPU_STAT_STRING_PARSING)) { if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
out.writeBigInteger(cpuAcctUsageNanos); out.writeBigInteger(cpuAcctUsageNanos);
} else { } else {
out.writeLong(cpuAcctUsageNanos.longValue()); out.writeLong(cpuAcctUsageNanos.longValue());
@ -605,7 +605,7 @@ public class OsStats implements Writeable, ToXContentFragment {
} }
CpuStat(final StreamInput in) throws IOException { 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(); numberOfElapsedPeriods = in.readBigInteger();
numberOfTimesThrottled = in.readBigInteger(); numberOfTimesThrottled = in.readBigInteger();
timeThrottledNanos = in.readBigInteger(); timeThrottledNanos = in.readBigInteger();
@ -618,7 +618,7 @@ public class OsStats implements Writeable, ToXContentFragment {
@Override @Override
public void writeTo(final StreamOutput out) throws IOException { 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(numberOfElapsedPeriods);
out.writeBigInteger(numberOfTimesThrottled); out.writeBigInteger(numberOfTimesThrottled);
out.writeBigInteger(timeThrottledNanos); out.writeBigInteger(timeThrottledNanos);

View file

@ -288,8 +288,7 @@ public final class SearchSourceBuilder implements Writeable, ToXContentObject, R
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) { if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
rankBuilder = in.readOptionalNamedWriteable(RankBuilder.class); rankBuilder = in.readOptionalNamedWriteable(RankBuilder.class);
} }
if (in.getTransportVersion().isPatchFrom(TransportVersions.V_8_16_1) if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_16_1)) {
|| in.getTransportVersion().onOrAfter(TransportVersions.SKIP_INNER_HITS_SEARCH_SOURCE)) {
skipInnerHits = in.readBoolean(); skipInnerHits = in.readBoolean();
} else { } else {
skipInnerHits = false; skipInnerHits = false;
@ -383,8 +382,7 @@ public final class SearchSourceBuilder implements Writeable, ToXContentObject, R
} else if (rankBuilder != null) { } else if (rankBuilder != null) {
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion().toReleaseVersion() + "]"); throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion().toReleaseVersion() + "]");
} }
if (out.getTransportVersion().isPatchFrom(TransportVersions.V_8_16_1) if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_16_1)) {
|| out.getTransportVersion().onOrAfter(TransportVersions.SKIP_INNER_HITS_SEARCH_SOURCE)) {
out.writeBoolean(skipInnerHits); out.writeBoolean(skipInnerHits);
} }
} }

View file

@ -28,7 +28,7 @@ public final class LogsDBFeatureSetUsage extends XPackFeatureUsage {
super(input); super(input);
indicesCount = input.readVInt(); indicesCount = input.readVInt();
indicesWithSyntheticSource = 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(); numDocs = input.readVLong();
sizeInBytes = input.readVLong(); sizeInBytes = input.readVLong();
} else { } else {
@ -36,7 +36,7 @@ public final class LogsDBFeatureSetUsage extends XPackFeatureUsage {
sizeInBytes = 0; sizeInBytes = 0;
} }
var transportVersion = input.getTransportVersion(); 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)) { || transportVersion.onOrAfter(TransportVersions.LOGSDB_TELEMETRY_CUSTOM_CUTOFF_DATE)) {
hasCustomCutoffDate = input.readBoolean(); hasCustomCutoffDate = input.readBoolean();
} else { } else {
@ -49,12 +49,12 @@ public final class LogsDBFeatureSetUsage extends XPackFeatureUsage {
super.writeTo(out); super.writeTo(out);
out.writeVInt(indicesCount); out.writeVInt(indicesCount);
out.writeVInt(indicesWithSyntheticSource); 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(numDocs);
out.writeVLong(sizeInBytes); out.writeVLong(sizeInBytes);
} }
var transportVersion = out.getTransportVersion(); 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)) { || transportVersion.onOrAfter(TransportVersions.LOGSDB_TELEMETRY_CUSTOM_CUTOFF_DATE)) {
out.writeBoolean(hasCustomCutoffDate); out.writeBoolean(hasCustomCutoffDate);
} }
@ -79,7 +79,7 @@ public final class LogsDBFeatureSetUsage extends XPackFeatureUsage {
@Override @Override
public TransportVersion getMinimalSupportedVersion() { public TransportVersion getMinimalSupportedVersion() {
return TransportVersions.LOGSDB_TELEMETRY; return TransportVersions.V_8_17_0;
} }
@Override @Override

View file

@ -62,8 +62,7 @@ public class GetInferenceModelAction extends ActionType<GetInferenceModelAction.
super(in); super(in);
this.inferenceEntityId = in.readString(); this.inferenceEntityId = in.readString();
this.taskType = TaskType.fromStream(in); this.taskType = TaskType.fromStream(in);
if (in.getTransportVersion().onOrAfter(TransportVersions.INFERENCE_DONT_PERSIST_ON_READ) if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_16_0)) {
|| in.getTransportVersion().isPatchFrom(TransportVersions.V_8_16_0)) {
this.persistDefaultConfig = in.readBoolean(); this.persistDefaultConfig = in.readBoolean();
} else { } else {
this.persistDefaultConfig = PERSIST_DEFAULT_CONFIGS; this.persistDefaultConfig = PERSIST_DEFAULT_CONFIGS;
@ -88,8 +87,7 @@ public class GetInferenceModelAction extends ActionType<GetInferenceModelAction.
super.writeTo(out); super.writeTo(out);
out.writeString(inferenceEntityId); out.writeString(inferenceEntityId);
taskType.writeTo(out); taskType.writeTo(out);
if (out.getTransportVersion().onOrAfter(TransportVersions.INFERENCE_DONT_PERSIST_ON_READ) if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_16_0)) {
|| out.getTransportVersion().isPatchFrom(TransportVersions.V_8_16_0)) {
out.writeBoolean(this.persistDefaultConfig); out.writeBoolean(this.persistDefaultConfig);
} }
} }

View file

@ -32,8 +32,6 @@ import java.util.Set;
import java.util.TreeSet; import java.util.TreeSet;
import java.util.stream.Collectors; 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} * 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 * and {@link Role}. This model is intended to be converted to local cluster permissions
@ -71,6 +69,7 @@ import static org.elasticsearch.TransportVersions.ROLE_MONITOR_STATS;
public class RemoteClusterPermissions implements NamedWriteable, ToXContentObject { public class RemoteClusterPermissions implements NamedWriteable, ToXContentObject {
public static final TransportVersion ROLE_REMOTE_CLUSTER_PRIVS = TransportVersions.V_8_15_0; 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"; public static final String NAME = "remote_cluster_permissions";
private static final Logger logger = LogManager.getLogger(RemoteClusterPermissions.class); private static final Logger logger = LogManager.getLogger(RemoteClusterPermissions.class);

View file

@ -44,10 +44,10 @@ import java.util.function.Consumer;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static java.util.Map.entry; 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.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.AuthenticationTestHelper.randomCrossClusterAccessSubjectInfo;
import static org.elasticsearch.xpack.core.security.authc.CrossClusterAccessSubjectInfoTests.randomRoleDescriptorsIntersection; 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.elasticsearch.xpack.core.security.authz.permission.RemoteClusterPermissions.ROLE_REMOTE_CLUSTER_PRIVS;
import static org.hamcrest.Matchers.anEmptyMap; import static org.hamcrest.Matchers.anEmptyMap;
import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.containsString;

View file

@ -31,7 +31,7 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; 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.ROLE_REMOTE_CLUSTER_PRIVS;
import static org.elasticsearch.xpack.core.security.authz.permission.RemoteClusterPermissions.lastTransportVersionPermission; import static org.elasticsearch.xpack.core.security.authz.permission.RemoteClusterPermissions.lastTransportVersionPermission;
import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.containsString;

View file

@ -67,8 +67,7 @@ public class DeprecationInfoAction extends ActionType<DeprecationInfoAction.Resp
if (in.getTransportVersion().before(TransportVersions.RESOURCE_DEPRECATION_CHECKS)) { if (in.getTransportVersion().before(TransportVersions.RESOURCE_DEPRECATION_CHECKS)) {
mutableResourceDeprecations.put(IndexDeprecationChecker.NAME, in.readMapOfLists(DeprecationIssue::new)); mutableResourceDeprecations.put(IndexDeprecationChecker.NAME, in.readMapOfLists(DeprecationIssue::new));
} }
if (in.getTransportVersion() if (in.getTransportVersion().between(TransportVersions.V_8_17_0, TransportVersions.RESOURCE_DEPRECATION_CHECKS)) {
.between(TransportVersions.DATA_STREAM_INDEX_VERSION_DEPRECATION_CHECK, TransportVersions.RESOURCE_DEPRECATION_CHECKS)) {
mutableResourceDeprecations.put(DataStreamDeprecationChecker.NAME, in.readMapOfLists(DeprecationIssue::new)); mutableResourceDeprecations.put(DataStreamDeprecationChecker.NAME, in.readMapOfLists(DeprecationIssue::new));
} }
if (in.getTransportVersion().before(TransportVersions.V_7_11_0)) { if (in.getTransportVersion().before(TransportVersions.V_7_11_0)) {
@ -140,8 +139,7 @@ public class DeprecationInfoAction extends ActionType<DeprecationInfoAction.Resp
if (out.getTransportVersion().before(TransportVersions.RESOURCE_DEPRECATION_CHECKS)) { if (out.getTransportVersion().before(TransportVersions.RESOURCE_DEPRECATION_CHECKS)) {
out.writeMap(getIndexSettingsIssues(), StreamOutput::writeCollection); out.writeMap(getIndexSettingsIssues(), StreamOutput::writeCollection);
} }
if (out.getTransportVersion() if (out.getTransportVersion().between(TransportVersions.V_8_17_0, TransportVersions.RESOURCE_DEPRECATION_CHECKS)) {
.between(TransportVersions.DATA_STREAM_INDEX_VERSION_DEPRECATION_CHECK, TransportVersions.RESOURCE_DEPRECATION_CHECKS)) {
out.writeMap(getDataStreamDeprecationIssues(), StreamOutput::writeCollection); out.writeMap(getDataStreamDeprecationIssues(), StreamOutput::writeCollection);
} }
if (out.getTransportVersion().before(TransportVersions.V_7_11_0)) { if (out.getTransportVersion().before(TransportVersions.V_7_11_0)) {

View file

@ -68,8 +68,7 @@ public class QueryRulesetListItem implements Writeable, ToXContentObject {
this.criteriaTypeToCountMap = Map.of(); this.criteriaTypeToCountMap = Map.of();
} }
TransportVersion streamTransportVersion = in.getTransportVersion(); TransportVersion streamTransportVersion = in.getTransportVersion();
if (streamTransportVersion.isPatchFrom(TransportVersions.V_8_16_1) if (streamTransportVersion.onOrAfter(TransportVersions.V_8_16_1)) {
|| streamTransportVersion.onOrAfter(TransportVersions.QUERY_RULES_LIST_INCLUDES_TYPES)) {
this.ruleTypeToCountMap = in.readMap(m -> in.readEnum(QueryRule.QueryRuleType.class), StreamInput::readInt); this.ruleTypeToCountMap = in.readMap(m -> in.readEnum(QueryRule.QueryRuleType.class), StreamInput::readInt);
} else { } else {
this.ruleTypeToCountMap = Map.of(); this.ruleTypeToCountMap = Map.of();
@ -103,8 +102,7 @@ public class QueryRulesetListItem implements Writeable, ToXContentObject {
out.writeMap(criteriaTypeToCountMap, StreamOutput::writeEnum, StreamOutput::writeInt); out.writeMap(criteriaTypeToCountMap, StreamOutput::writeEnum, StreamOutput::writeInt);
} }
TransportVersion streamTransportVersion = out.getTransportVersion(); TransportVersion streamTransportVersion = out.getTransportVersion();
if (streamTransportVersion.isPatchFrom(TransportVersions.V_8_16_1) if (streamTransportVersion.onOrAfter(TransportVersions.V_8_16_1)) {
|| streamTransportVersion.onOrAfter(TransportVersions.QUERY_RULES_LIST_INCLUDES_TYPES)) {
out.writeMap(ruleTypeToCountMap, StreamOutput::writeEnum, StreamOutput::writeInt); out.writeMap(ruleTypeToCountMap, StreamOutput::writeEnum, StreamOutput::writeInt);
} }
} }

View file

@ -121,6 +121,6 @@ public class RuleQueryRankDoc extends RankDoc {
@Override @Override
public TransportVersion getMinimalSupportedVersion() { public TransportVersion getMinimalSupportedVersion() {
return TransportVersions.QUERY_RULES_RETRIEVER; return TransportVersions.V_8_17_0;
} }
} }

View file

@ -59,7 +59,7 @@ public class ListQueryRulesetsActionResponseBWCSerializingTests extends Abstract
ListQueryRulesetsAction.Response instance, ListQueryRulesetsAction.Response instance,
TransportVersion version TransportVersion version
) { ) {
if (version.isPatchFrom(TransportVersions.V_8_16_1) || version.onOrAfter(TransportVersions.QUERY_RULES_LIST_INCLUDES_TYPES)) { if (version.onOrAfter(TransportVersions.V_8_16_1)) {
return instance; return instance;
} else if (version.onOrAfter(QueryRulesetListItem.EXPANDED_RULESET_COUNT_TRANSPORT_VERSION)) { } else if (version.onOrAfter(QueryRulesetListItem.EXPANDED_RULESET_COUNT_TRANSPORT_VERSION)) {
List<QueryRulesetListItem> updatedResults = new ArrayList<>(); List<QueryRulesetListItem> updatedResults = new ArrayList<>();

View file

@ -148,7 +148,7 @@ public class FieldAttribute extends TypedAttribute {
} }
private void writeParentName(StreamOutput out) 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); ((PlanStreamOutput) out).writeOptionalCachedString(parentName);
} else { } else {
// Previous versions only used the parent field attribute to retrieve the parent's name, so we can use just any // Previous versions only used the parent field attribute to retrieve the parent's name, so we can use just any
@ -159,7 +159,7 @@ public class FieldAttribute extends TypedAttribute {
} }
private static String readParentName(StreamInput in) 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(); return ((PlanStreamInput) in).readOptionalCachedString();
} }

View file

@ -424,7 +424,7 @@ public class EsqlExecutionInfo implements ChunkedToXContentObject, Writeable {
this.failedShards = in.readOptionalInt(); this.failedShards = in.readOptionalInt();
this.took = in.readOptionalTimeValue(); this.took = in.readOptionalTimeValue();
this.skipUnavailable = in.readBoolean(); 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)); this.failures = Collections.unmodifiableList(in.readCollectionAsList(ShardSearchFailure::readShardSearchFailure));
} else { } else {
this.failures = Collections.emptyList(); this.failures = Collections.emptyList();
@ -442,7 +442,7 @@ public class EsqlExecutionInfo implements ChunkedToXContentObject, Writeable {
out.writeOptionalInt(failedShards); out.writeOptionalInt(failedShards);
out.writeOptionalTimeValue(took); out.writeOptionalTimeValue(took);
out.writeBoolean(skipUnavailable); 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); out.writeCollection(failures);
} }
} }

View file

@ -211,7 +211,7 @@ public class EnrichLookupService extends AbstractLookupService<EnrichLookupServi
PlanStreamInput planIn = new PlanStreamInput(in, in.namedWriteableRegistry(), null); PlanStreamInput planIn = new PlanStreamInput(in, in.namedWriteableRegistry(), null);
List<NamedExpression> extractFields = planIn.readNamedWriteableCollectionAsList(NamedExpression.class); List<NamedExpression> extractFields = planIn.readNamedWriteableCollectionAsList(NamedExpression.class);
var source = Source.EMPTY; 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 = Source.readFrom(planIn);
} }
TransportRequest result = new TransportRequest( TransportRequest result = new TransportRequest(
@ -242,7 +242,7 @@ public class EnrichLookupService extends AbstractLookupService<EnrichLookupServi
out.writeWriteable(inputPage); out.writeWriteable(inputPage);
PlanStreamOutput planOut = new PlanStreamOutput(out, null); PlanStreamOutput planOut = new PlanStreamOutput(out, null);
planOut.writeNamedWriteableCollection(extractFields); planOut.writeNamedWriteableCollection(extractFields);
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_ENRICH_RUNTIME_WARNINGS)) { if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
source.writeTo(planOut); source.writeTo(planOut);
} }
} }

View file

@ -149,7 +149,7 @@ public class LookupFromIndexService extends AbstractLookupService<LookupFromInde
List<NamedExpression> extractFields = planIn.readNamedWriteableCollectionAsList(NamedExpression.class); List<NamedExpression> extractFields = planIn.readNamedWriteableCollectionAsList(NamedExpression.class);
String matchField = in.readString(); String matchField = in.readString();
var source = Source.EMPTY; 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 = Source.readFrom(planIn);
} }
// Source.readFrom() requires the query from the Configuration passed to PlanStreamInput. // Source.readFrom() requires the query from the Configuration passed to PlanStreamInput.
@ -182,7 +182,7 @@ public class LookupFromIndexService extends AbstractLookupService<LookupFromInde
PlanStreamOutput planOut = new PlanStreamOutput(out, null); PlanStreamOutput planOut = new PlanStreamOutput(out, null);
planOut.writeNamedWriteableCollection(extractFields); planOut.writeNamedWriteableCollection(extractFields);
out.writeString(matchField); out.writeString(matchField);
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_ENRICH_RUNTIME_WARNINGS)) { if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
source.writeTo(planOut); source.writeTo(planOut);
} }
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_LOOKUP_JOIN_SOURCE_TEXT)) { if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_LOOKUP_JOIN_SOURCE_TEXT)) {

View file

@ -107,9 +107,7 @@ public class GoogleVertexAiEmbeddingsTaskSettings implements TaskSettings {
public GoogleVertexAiEmbeddingsTaskSettings(StreamInput in) throws IOException { public GoogleVertexAiEmbeddingsTaskSettings(StreamInput in) throws IOException {
this.autoTruncate = in.readOptionalBoolean(); this.autoTruncate = in.readOptionalBoolean();
var inputType = (in.getTransportVersion().onOrAfter(TransportVersions.VERTEX_AI_INPUT_TYPE_ADDED)) var inputType = (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) ? in.readOptionalEnum(InputType.class) : null;
? in.readOptionalEnum(InputType.class)
: null;
validateInputType(inputType); validateInputType(inputType);
this.inputType = inputType; this.inputType = inputType;
@ -150,7 +148,7 @@ public class GoogleVertexAiEmbeddingsTaskSettings implements TaskSettings {
public void writeTo(StreamOutput out) throws IOException { public void writeTo(StreamOutput out) throws IOException {
out.writeOptionalBoolean(this.autoTruncate); 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); out.writeOptionalEnum(this.inputType);
} }
} }

View file

@ -256,7 +256,7 @@ public class GoogleVertexAiEmbeddingsTaskSettingsTests extends AbstractBWCWireSe
GoogleVertexAiEmbeddingsTaskSettings instance, GoogleVertexAiEmbeddingsTaskSettings instance,
TransportVersion version 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 // default to null input type if node is on a version before input type was introduced
return new GoogleVertexAiEmbeddingsTaskSettings(instance.autoTruncate(), null); return new GoogleVertexAiEmbeddingsTaskSettings(instance.autoTruncate(), null);
} }