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 @@ -45,6 +45,10 @@ private GetDataStreamOptionsAction() {/* no instances */}

public static class Request extends MasterNodeReadRequest<Request> 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 @@ -79,7 +83,8 @@ public Request(StreamInput in) throws IOException {
super(in);
this.names = in.readOptionalStringArray();
this.indicesOptions = IndicesOptions.readIndicesOptions(in);
if (in.getTransportVersion().before(TransportVersions.DATA_STREAM_OPTIONS_API_REMOVE_INCLUDE_DEFAULTS_8_19)) {
// This boolean was removed in 8.19
if (in.getTransportVersion().supports(DATA_STREAM_OPTIONS_API_REMOVE_INCLUDE_DEFAULTS) == false) {
in.readBoolean();
}
}
Expand All @@ -89,7 +94,7 @@ public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeOptionalStringArray(names);
indicesOptions.writeIndicesOptions(out);
if (out.getTransportVersion().before(TransportVersions.DATA_STREAM_OPTIONS_API_REMOVE_INCLUDE_DEFAULTS_8_19)) {
if (out.getTransportVersion().supports(DATA_STREAM_OPTIONS_API_REMOVE_INCLUDE_DEFAULTS) == false) {
out.writeBoolean(false);
}
}
Expand Down
10 changes: 0 additions & 10 deletions server/src/main/java/org/elasticsearch/TransportVersions.java
Original file line number Diff line number Diff line change
Expand Up @@ -221,16 +221,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);

/*
* STOP! READ THIS FIRST! No, really,
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 @@ -46,6 +45,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 @@ -97,7 +101,7 @@ public void writeTo(StreamOutput out) throws IOException {
}

private static boolean isVersionCompatibleWithExcludeVectors(TransportVersion version) {
return version.onOrAfter(TransportVersions.SEARCH_SOURCE_EXCLUDE_VECTORS_PARAM_8_19);
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 @@ -467,7 +467,7 @@ public void testTransportVersionsLocked() {
"TransportVersions.java is locked. Generate transport versions with TransportVersion.fromName "
+ "and generateTransportVersion gradle task",
versions.get(versions.size() - 1).id(),
equalTo(8_841_0_50)
equalTo(8_841_0_40)
);
}
}
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,7 +345,7 @@ public IndexLifecycleExplainResponse(StreamInput in) throws IOException {
} else {
previousStepInfo = null;
}
if (in.getTransportVersion().onOrAfter(TransportVersions.ILM_ADD_SKIP_SETTING_8_19)) {
if (in.getTransportVersion().supports(ILM_ADD_SKIP_SETTING)) {
skip = in.readBoolean();
} else {
skip = false;
Expand Down Expand Up @@ -397,7 +400,7 @@ public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_16_0)) {
out.writeOptionalBytesReference(previousStepInfo);
}
if (out.getTransportVersion().onOrAfter(TransportVersions.ILM_ADD_SKIP_SETTING_8_19)) {
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.io.stream.StreamInput;
Expand Down Expand Up @@ -60,6 +61,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 @@ -128,7 +131,7 @@ public EsqlExecutionInfo(StreamInput in) throws IOException {

this.skipUnavailablePredicate = Predicates.always();
this.relativeStart = null;
if (in.getTransportVersion().onOrAfter(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 @@ -148,7 +151,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_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 @@ -127,6 +128,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 @@ -148,7 +151,7 @@ static TransportRequest readFrom(StreamInput in, BlockFactory blockFactory) thro
ShardId shardId = new ShardId(in);

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

if (out.getTransportVersion().onOrAfter(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 @@ -72,14 +76,14 @@ public String nodeString() {
}

void serializeCaseInsensitivity(StreamOutput out) throws IOException {
if (out.getTransportVersion().before(TransportVersions.ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY_8_19)) {
if (out.getTransportVersion().supports(ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY) == false) {
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.",
out.getTransportVersion(),
TransportVersions.ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY_8_19
ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY
);
} // else: write nothing, the remote peer can execute the case-sensitive query
} else {
Expand All @@ -88,6 +92,6 @@ void serializeCaseInsensitivity(StreamOutput out) throws IOException {
}

static boolean deserializeCaseInsensitivity(StreamInput in) throws IOException {
return in.getTransportVersion().onOrAfter(TransportVersions.ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY_8_19) && in.readBoolean();
return in.getTransportVersion().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,8 +43,6 @@
import java.util.TreeSet;
import java.util.function.BiConsumer;

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 @@ -53,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 @@ -276,7 +279,7 @@ public SamlServiceProviderDocument(StreamInput in) throws IOException {
attributeNames.name = in.readOptionalString();
attributeNames.roles = in.readOptionalString();

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

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

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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@

public class SamlServiceProviderDocumentTests extends IdpSamlTestCase {

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

public void testValidationFailuresForMissingFields() throws Exception {
final SamlServiceProviderDocument doc = new SamlServiceProviderDocument();
doc.setDocId(randomAlphaOfLength(16));
Expand Down Expand Up @@ -96,7 +100,7 @@ public void testSerializationBeforeExtensionAttributes() throws Exception {
final TransportVersion version = TransportVersionUtils.randomVersionBetween(
random(),
TransportVersions.V_7_7_0,
TransportVersionUtils.getPreviousVersion(TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST_8_19)
TransportVersionUtils.getPreviousVersion(IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST)
);
final SamlServiceProviderDocument copy = copyWriteable(
original,
Expand Down Expand Up @@ -183,7 +187,7 @@ private SamlServiceProviderDocument assertXContentRoundTrip(SamlServiceProviderD
private SamlServiceProviderDocument assertSerializationRoundTrip(SamlServiceProviderDocument doc) throws IOException {
final TransportVersion version = TransportVersionUtils.randomVersionBetween(
random(),
TransportVersions.IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST_8_19,
IDP_CUSTOM_SAML_ATTRIBUTES_ALLOW_LIST,
TransportVersion.current()
);
final SamlServiceProviderDocument read = copyWriteable(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
package org.elasticsearch.xpack.inference.chunking;

import org.elasticsearch.TransportVersion;
import org.elasticsearch.TransportVersions;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.ValidationException;
import org.elasticsearch.common.io.stream.StreamOutput;
Expand All @@ -30,6 +29,8 @@ public class NoneChunkingSettings implements ChunkingSettings {
private static final ChunkingStrategy STRATEGY = ChunkingStrategy.NONE;
private static final Set<String> VALID_KEYS = Set.of(ChunkingSettingsOptions.STRATEGY.toString());

private static final TransportVersion NONE_CHUNKING_STRATEGY = TransportVersion.fromName("none_chunking_strategy");

private NoneChunkingSettings() {}

@Override
Expand All @@ -44,7 +45,7 @@ public String getWriteableName() {

@Override
public TransportVersion getMinimalSupportedVersion() {
return TransportVersions.NONE_CHUNKING_STRATEGY_8_19;
return NONE_CHUNKING_STRATEGY;
}

@Override
Expand Down
Loading