Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*/
package org.elasticsearch.datastreams.options.action;

import org.elasticsearch.TransportVersions;
import org.elasticsearch.TransportVersion;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.ActionResponse;
import org.elasticsearch.action.ActionType;
Expand Down Expand Up @@ -50,6 +50,10 @@ private GetDataStreamOptionsAction() {/* no instances */}

public static class Request extends LocalClusterStateRequest implements IndicesRequest.Replaceable {

private static final TransportVersion DATA_STREAM_OPTIONS_API_REMOVE_INCLUDE_DEFAULTS = TransportVersion.fromName(
"data_stream_options_api_remove_include_defaults"
);

private String[] names;
private IndicesOptions indicesOptions = IndicesOptions.builder()
.concreteTargetOptions(IndicesOptions.ConcreteTargetOptions.ERROR_WHEN_UNAVAILABLE_TARGETS)
Expand Down Expand Up @@ -95,7 +99,7 @@ public Request(StreamInput in) throws IOException {
this.names = in.readOptionalStringArray();
this.indicesOptions = IndicesOptions.readIndicesOptions(in);
// This boolean was removed in 8.19
if (in.getTransportVersion().isPatchFrom(TransportVersions.DATA_STREAM_OPTIONS_API_REMOVE_INCLUDE_DEFAULTS_8_19) == false) {
if (in.getTransportVersion().supports(DATA_STREAM_OPTIONS_API_REMOVE_INCLUDE_DEFAULTS) == false) {
in.readBoolean();
}
}
Expand Down
20 changes: 0 additions & 20 deletions server/src/main/java/org/elasticsearch/TransportVersions.java
Original file line number Diff line number Diff line change
Expand Up @@ -182,16 +182,6 @@ static TransportVersion def(int id) {
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 DATA_STREAM_OPTIONS_API_REMOVE_INCLUDE_DEFAULTS_8_19 = def(8_841_0_41);
public static final TransportVersion JOIN_ON_ALIASES_8_19 = def(8_841_0_42);
public static final TransportVersion ILM_ADD_SKIP_SETTING_8_19 = def(8_841_0_43);
public static final TransportVersion ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY_8_19 = def(8_841_0_44);
public static final TransportVersion ESQL_QUERY_PLANNING_DURATION_8_19 = def(8_841_0_45);
public static final TransportVersion SEARCH_SOURCE_EXCLUDE_VECTORS_PARAM_8_19 = def(8_841_0_46);
public static final TransportVersion ML_INFERENCE_MISTRAL_CHAT_COMPLETION_ADDED_8_19 = def(8_841_0_47);
public static final TransportVersion ML_INFERENCE_ELASTIC_RERANK_ADDED_8_19 = def(8_841_0_48);
public static final TransportVersion NONE_CHUNKING_STRATEGY_8_19 = def(8_841_0_49);
public static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST_8_19 = def(8_841_0_50);
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);
Expand Down Expand Up @@ -251,11 +241,9 @@ static TransportVersion def(int id) {
public static final TransportVersion REPO_ANALYSIS_COPY_BLOB = def(9_048_0_00);
public static final TransportVersion AMAZON_BEDROCK_TASK_SETTINGS = def(9_049_0_00);
public static final TransportVersion ESQL_REPORT_SHARD_PARTITIONING = def(9_050_0_00);
public static final TransportVersion DEAD_ESQL_QUERY_PLANNING_DURATION = def(9_051_0_00);
public static final TransportVersion DEAD_ESQL_DOCUMENTS_FOUND_AND_VALUES_LOADED = def(9_052_0_00);
public static final TransportVersion DEAD_BATCHED_QUERY_EXECUTION_DELAYABLE_WRITABLE = def(9_053_0_00);
public static final TransportVersion DEAD_SEARCH_INCREMENTAL_TOP_DOCS_NULL = def(9_054_0_00);
public static final TransportVersion ESQL_QUERY_PLANNING_DURATION = def(9_055_0_00);
public static final TransportVersion BATCHED_QUERY_EXECUTION_DELAYABLE_WRITABLE = def(9_057_0_00);
public static final TransportVersion SEARCH_INCREMENTAL_TOP_DOCS_NULL = def(9_058_0_00);
public static final TransportVersion COMPRESS_DELAYABLE_WRITEABLE = def(9_059_0_00);
Expand All @@ -282,18 +270,10 @@ static TransportVersion def(int id) {
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 ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY = def(9_086_0_00);
public static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES = def(9_087_0_00);
public static final TransportVersion JOIN_ON_ALIASES = def(9_088_0_00);
public static final TransportVersion ILM_ADD_SKIP_SETTING = def(9_089_0_00);
public static final TransportVersion ML_INFERENCE_MISTRAL_CHAT_COMPLETION_ADDED = def(9_090_0_00);
public static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST = def(9_091_0_00);
public static final TransportVersion SEARCH_SOURCE_EXCLUDE_VECTORS_PARAM = def(9_092_0_00);
public static final TransportVersion SNAPSHOT_INDEX_SHARD_STATUS_MISSING_STATS = def(9_093_0_00);
public static final TransportVersion ML_INFERENCE_ELASTIC_RERANK = def(9_094_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);
public static final TransportVersion NONE_CHUNKING_STRATEGY = def(9_097_0_00);
public static final TransportVersion PROJECT_DELETION_GLOBAL_BLOCK = def(9_098_0_00);
public static final TransportVersion SECURITY_CLOUD_API_KEY_REALM_AND_TYPE = def(9_099_0_00);
public static final TransportVersion STATE_PARAM_GET_SNAPSHOT = def(9_100_0_00);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
package org.elasticsearch.search.fetch.subphase;

import org.elasticsearch.TransportVersion;
import org.elasticsearch.TransportVersions;
import org.elasticsearch.common.ParsingException;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.io.stream.StreamInput;
Expand Down Expand Up @@ -47,6 +46,11 @@ public class FetchSourceContext implements Writeable, ToXContentObject {
Strings.EMPTY_ARRAY,
Strings.EMPTY_ARRAY
);

private static final TransportVersion SEARCH_SOURCE_EXCLUDE_VECTORS_PARAM = TransportVersion.fromName(
"search_source_exclude_vectors_param"
);

private final boolean fetchSource;
private final String[] includes;
private final String[] excludes;
Expand Down Expand Up @@ -98,8 +102,7 @@ public void writeTo(StreamOutput out) throws IOException {
}

private static boolean isVersionCompatibleWithExcludeVectors(TransportVersion version) {
return version.isPatchFrom(TransportVersions.SEARCH_SOURCE_EXCLUDE_VECTORS_PARAM_8_19)
|| version.onOrAfter(TransportVersions.SEARCH_SOURCE_EXCLUDE_VECTORS_PARAM);
return version.supports(SEARCH_SOURCE_EXCLUDE_VECTORS_PARAM);
}

public boolean fetchSource() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# We have taken a donor primary id from
# another collapsed primary id since
# we only have a patch id here given that
# this feature was removed in 8.19.
# This works because our donor was taken
# prior to 9.1.0 release. So this still
# honors bwc from 8.19 -> 9.1 and
# 9.0 -> 9.x.
9081000,8841041
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9055000,8841045
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9086000,8841044
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9091000,8841050
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9089000,8841043
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9088000,8841042
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9094000,8841048
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9090000,8841047
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9097000,8841049
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9092000,8841046
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9051000

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

package org.elasticsearch.xpack.core.ilm;

import org.elasticsearch.TransportVersion;
import org.elasticsearch.TransportVersions;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.bytes.BytesReference;
Expand Down Expand Up @@ -123,6 +124,8 @@ public class IndexLifecycleExplainResponse implements ToXContentObject, Writeabl
PARSER.declareBoolean(ConstructingObjectParser.optionalConstructorArg(), SKIP_NAME);
}

private static final TransportVersion ILM_ADD_SKIP_SETTING = TransportVersion.fromName("ilm_add_skip_setting");

private final String index;
private final Long indexCreationDate;
private final String policyName;
Expand Down Expand Up @@ -342,8 +345,7 @@ public IndexLifecycleExplainResponse(StreamInput in) throws IOException {
} else {
previousStepInfo = null;
}
if (in.getTransportVersion().isPatchFrom(TransportVersions.ILM_ADD_SKIP_SETTING_8_19)
|| in.getTransportVersion().onOrAfter(TransportVersions.ILM_ADD_SKIP_SETTING)) {
if (in.getTransportVersion().supports(ILM_ADD_SKIP_SETTING)) {
skip = in.readBoolean();
} else {
skip = false;
Expand Down Expand Up @@ -398,8 +400,7 @@ public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_16_0)) {
out.writeOptionalBytesReference(previousStepInfo);
}
if (out.getTransportVersion().isPatchFrom(TransportVersions.ILM_ADD_SKIP_SETTING_8_19)
|| out.getTransportVersion().onOrAfter(TransportVersions.ILM_ADD_SKIP_SETTING)) {
if (out.getTransportVersion().supports(ILM_ADD_SKIP_SETTING)) {
out.writeBoolean(skip);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

package org.elasticsearch.xpack.esql.action;

import org.elasticsearch.TransportVersion;
import org.elasticsearch.TransportVersions;
import org.elasticsearch.action.search.ShardSearchFailure;
import org.elasticsearch.common.collect.Iterators;
Expand Down Expand Up @@ -62,6 +63,8 @@ public class EsqlExecutionInfo implements ChunkedToXContentObject, Writeable {
public static final ParseField TOOK = new ParseField("took");
public static final ParseField IS_PARTIAL_FIELD = new ParseField("is_partial");

private static final TransportVersion ESQL_QUERY_PLANNING_DURATION = TransportVersion.fromName("esql_query_planning_duration");

// Map key is clusterAlias on the primary querying cluster of a CCS minimize_roundtrips=true query
// The Map itself is immutable after construction - all Clusters will be accounted for at the start of the search.
// Updates to the Cluster occur with the updateCluster method that given the key to map transforms an
Expand Down Expand Up @@ -130,8 +133,7 @@ public EsqlExecutionInfo(StreamInput in) throws IOException {

this.skipUnavailablePredicate = Predicates.always();
this.relativeStart = null;
if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_QUERY_PLANNING_DURATION)
|| in.getTransportVersion().isPatchFrom(TransportVersions.ESQL_QUERY_PLANNING_DURATION_8_19)) {
if (in.getTransportVersion().supports(ESQL_QUERY_PLANNING_DURATION)) {
this.overallTimeSpan = in.readOptional(TimeSpan::readFrom);
this.planningTimeSpan = in.readOptional(TimeSpan::readFrom);
}
Expand All @@ -151,8 +153,7 @@ public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_RESPONSE_PARTIAL)) {
out.writeBoolean(isPartial);
}
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_QUERY_PLANNING_DURATION)
|| out.getTransportVersion().isPatchFrom(TransportVersions.ESQL_QUERY_PLANNING_DURATION_8_19)) {
if (out.getTransportVersion().supports(ESQL_QUERY_PLANNING_DURATION)) {
out.writeOptionalWriteable(overallTimeSpan);
out.writeOptionalWriteable(planningTimeSpan);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

package org.elasticsearch.xpack.esql.enrich;

import org.elasticsearch.TransportVersion;
import org.elasticsearch.TransportVersions;
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
import org.elasticsearch.cluster.service.ClusterService;
Expand Down Expand Up @@ -132,6 +133,8 @@ public static class Request extends AbstractLookupService.Request {
protected static class TransportRequest extends AbstractLookupService.TransportRequest {
private final String matchField;

private static final TransportVersion JOIN_ON_ALIASES = TransportVersion.fromName("join_on_aliases");

TransportRequest(
String sessionId,
ShardId shardId,
Expand All @@ -153,8 +156,7 @@ static TransportRequest readFrom(StreamInput in, BlockFactory blockFactory) thro
ShardId shardId = new ShardId(in);

String indexPattern;
if (in.getTransportVersion().onOrAfter(TransportVersions.JOIN_ON_ALIASES)
|| in.getTransportVersion().isPatchFrom(TransportVersions.JOIN_ON_ALIASES_8_19)) {
if (in.getTransportVersion().supports(JOIN_ON_ALIASES)) {
indexPattern = in.readString();
} else {
indexPattern = shardId.getIndexName();
Expand Down Expand Up @@ -199,8 +201,7 @@ public void writeTo(StreamOutput out) throws IOException {
out.writeString(sessionId);
out.writeWriteable(shardId);

if (out.getTransportVersion().onOrAfter(TransportVersions.JOIN_ON_ALIASES)
|| out.getTransportVersion().isPatchFrom(TransportVersions.JOIN_ON_ALIASES_8_19)) {
if (out.getTransportVersion().supports(JOIN_ON_ALIASES)) {
out.writeString(indexPattern);
} else if (indexPattern.equals(shardId.getIndexName()) == false) {
throw new EsqlIllegalArgumentException("Aliases and index patterns are not allowed for LOOKUP JOIN [{}]", indexPattern);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
package org.elasticsearch.xpack.esql.expression.function.scalar.string.regex;

import org.apache.lucene.util.automaton.Automata;
import org.elasticsearch.TransportVersions;
import org.elasticsearch.TransportVersion;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.compute.operator.EvalOperator;
Expand All @@ -30,6 +30,10 @@
abstract class RegexMatch<P extends AbstractStringPattern> extends org.elasticsearch.xpack.esql.core.expression.predicate.regex.RegexMatch<
P> implements EvaluatorMapper, TranslationAware.SingleValueTranslationAware {

private static final TransportVersion ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY = TransportVersion.fromName(
"esql_regex_match_with_case_insensitivity"
);

abstract String name();

RegexMatch(Source source, Expression field, P pattern, boolean caseInsensitive) {
Expand Down Expand Up @@ -73,24 +77,21 @@ public String nodeString() {

void serializeCaseInsensitivity(StreamOutput out) throws IOException {
var transportVersion = out.getTransportVersion();
if (transportVersion.onOrAfter(TransportVersions.ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY)
|| transportVersion.isPatchFrom(TransportVersions.ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY_8_19)) {
if (transportVersion.supports(ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY)) {
out.writeBoolean(caseInsensitive());
} else if (caseInsensitive()) {
// The plan has been optimized to run a case-insensitive match, which the remote peer cannot be notified of. Simply avoiding
// the serialization of the boolean would result in wrong results.
throw new EsqlIllegalArgumentException(
name() + " with case insensitivity is not supported in peer node's version [{}]. Upgrade to version [{}, {}] or newer.",
name() + " with case insensitivity is not supported in peer node's version [{}]. Upgrade to version [{}] or newer.",
transportVersion,
TransportVersions.ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY_8_19,
TransportVersions.ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY
ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY
);
} // else: write nothing, the remote peer can execute the case-sensitive query
}

static boolean deserializeCaseInsensitivity(StreamInput in) throws IOException {
var transportVersion = in.getTransportVersion();
return (transportVersion.onOrAfter(TransportVersions.ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY)
|| transportVersion.isPatchFrom(TransportVersions.ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY_8_19)) && in.readBoolean();
return transportVersion.supports(ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY) && in.readBoolean();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
package org.elasticsearch.xpack.idp.saml.sp;

import org.elasticsearch.ElasticsearchException;
import org.elasticsearch.TransportVersion;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.ValidationException;
import org.elasticsearch.common.io.stream.StreamInput;
Expand Down Expand Up @@ -42,9 +43,6 @@
import java.util.TreeSet;
import java.util.function.BiConsumer;

import static org.elasticsearch.TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST;
import static org.elasticsearch.TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST_8_19;

/**
* This class models the storage of a {@link SamlServiceProvider} as an Elasticsearch document.
*/
Expand All @@ -54,6 +52,10 @@ public class SamlServiceProviderDocument implements ToXContentObject, Writeable
public static final String SIGN_LOGOUT = "logout";
private static final Set<String> ALLOWED_SIGN_MESSAGES = Set.of(SIGN_AUTHN, SIGN_LOGOUT);

private static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST = TransportVersion.fromName(
"idp_custom_saml_attributes_allow_list"
);

public static class Privileges {
public String resource;
// we use a sorted set so that the order is consistent in XContent APIs
Expand Down Expand Up @@ -277,8 +279,7 @@ public SamlServiceProviderDocument(StreamInput in) throws IOException {
attributeNames.name = in.readOptionalString();
attributeNames.roles = in.readOptionalString();

if (in.getTransportVersion().isPatchFrom(IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST_8_19)
|| in.getTransportVersion().onOrAfter(IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST)) {
if (in.getTransportVersion().supports(IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST)) {
attributeNames.extensions = in.readCollectionAsImmutableSet(StreamInput::readString);
}

Expand Down Expand Up @@ -307,8 +308,7 @@ public void writeTo(StreamOutput out) throws IOException {
out.writeOptionalString(attributeNames.name);
out.writeOptionalString(attributeNames.roles);

if (out.getTransportVersion().isPatchFrom(IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST_8_19)
|| out.getTransportVersion().onOrAfter(IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST)) {
if (out.getTransportVersion().supports(IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST)) {
out.writeStringCollection(attributeNames.extensions);
}

Expand Down
Loading