Skip to content
32 changes: 0 additions & 32 deletions server/src/main/java/org/elasticsearch/TransportVersions.java
Original file line number Diff line number Diff line change
Expand Up @@ -137,38 +137,6 @@ static TransportVersion def(int id) {
public static final TransportVersion TIMEOUT_GET_PARAM_FOR_RESOLVE_CLUSTER = def(8_838_0_00);
public static final TransportVersion INFERENCE_REQUEST_ADAPTIVE_RATE_LIMITING = def(8_839_0_00);
public static final TransportVersion ML_INFERENCE_IBM_WATSONX_RERANK_ADDED = def(8_840_0_00);
public static final TransportVersion ESQL_PROFILE_ASYNC_NANOS = def(9_007_00_0);
public static final TransportVersion ESQL_LOOKUP_JOIN_SOURCE_TEXT = def(9_008_0_00);
public static final TransportVersion SLM_UNHEALTHY_IF_NO_SNAPSHOT_WITHIN = def(9_010_0_00);
public static final TransportVersion REMOVE_REPOSITORY_CONFLICT_MESSAGE = def(9_012_0_00);
public static final TransportVersion ESQL_SERIALIZE_SOURCE_FUNCTIONS_WARNINGS = def(9_016_0_00);
public static final TransportVersion ESQL_DRIVER_NODE_DESCRIPTION = def(9_017_0_00);
public static final TransportVersion MULTI_PROJECT = def(9_018_0_00);
public static final TransportVersion UNASSIGENEDINFO_RESHARD_ADDED = def(9_022_0_00);
public static final TransportVersion MAX_OPERATION_SIZE_REJECTIONS_ADDED = def(9_024_0_00);
public static final TransportVersion ESQL_THREAD_NAME_IN_DRIVER_PROFILE = def(9_027_0_00);
public static final TransportVersion INDEX_RESHARDING_METADATA = def(9_031_0_00);
public static final TransportVersion INDEXING_STATS_INCLUDES_RECENT_WRITE_LOAD = def(9_034_0_00);
public static final TransportVersion INDEX_METADATA_INCLUDES_RECENT_WRITE_LOAD = def(9_036_0_00);
public static final TransportVersion PROJECT_ID_IN_SNAPSHOT = def(9_040_0_00);
public static final TransportVersion INDEX_STATS_AND_METADATA_INCLUDE_PEAK_WRITE_LOAD = def(9_041_0_00);
public static final TransportVersion ESQL_REMOVE_AGGREGATE_TYPE = def(9_045_0_00);
public static final TransportVersion ADD_PROJECT_ID_TO_DSL_ERROR_INFO = def(9_046_0_00);
public static final TransportVersion REPO_ANALYSIS_COPY_BLOB = def(9_048_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 BATCHED_QUERY_EXECUTION_DELAYABLE_WRITABLE = def(9_057_0_00);
public static final TransportVersion COMPRESS_DELAYABLE_WRITEABLE = def(9_059_0_00);
public static final TransportVersion SYNONYMS_REFRESH_PARAM = def(9_060_0_00);
public static final TransportVersion DOC_FIELDS_AS_LIST = def(9_061_0_00);
public static final TransportVersion DENSE_VECTOR_OFF_HEAP_STATS = def(9_062_00_0);
public static final TransportVersion PROJECT_METADATA_SETTINGS = def(9_066_0_00);
public static final TransportVersion WRITE_LOAD_INCLUDES_BUFFER_WRITES = def(9_070_0_00);
public static final TransportVersion FILE_SETTINGS_HEALTH_INFO = def(9_072_0_00);
public static final TransportVersion ESQL_FIELD_ATTRIBUTE_DROP_TYPE = def(9_075_0_00);
public static final TransportVersion ESQL_TIME_SERIES_SOURCE_STATUS = def(9_076_0_00);
public static final TransportVersion NODES_STATS_SUPPORTS_MULTI_PROJECT = def(9_079_0_00);
public static final TransportVersion ESQL_LIMIT_ROW_SIZE = def(9_085_0_00);

/*
* STOP! READ THIS FIRST! No, really,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.lucene.search.TopDocs;
import org.elasticsearch.TransportVersions;
import org.elasticsearch.TransportVersion;
import org.elasticsearch.action.search.SearchPhaseController.TopDocsStats;
import org.elasticsearch.common.breaker.CircuitBreaker;
import org.elasticsearch.common.breaker.CircuitBreakingException;
Expand Down Expand Up @@ -668,9 +668,13 @@ record MergeResult(
long estimatedSize
) implements Writeable {

private static final TransportVersion BATCHED_QUERY_EXECUTION_DELAYABLE_WRITEABLE = TransportVersion.fromName(
"batched_query_execution_delayable_writeable"
);

static MergeResult readFrom(StreamInput in) throws IOException {
return new MergeResult(List.of(), Lucene.readTopDocsIncludingShardIndex(in), in.readOptionalWriteable(i -> {
if (i.getTransportVersion().onOrAfter(TransportVersions.BATCHED_QUERY_EXECUTION_DELAYABLE_WRITABLE)) {
if (i.getTransportVersion().supports(BATCHED_QUERY_EXECUTION_DELAYABLE_WRITEABLE)) {
return DelayableWriteable.delayed(InternalAggregations::readFrom, i);
} else {
return DelayableWriteable.referencing(InternalAggregations.readFrom(i));
Expand All @@ -684,9 +688,7 @@ public void writeTo(StreamOutput out) throws IOException {
out.writeOptionalWriteable(
reducedAggs == null
? null
: (out.getTransportVersion().onOrAfter(TransportVersions.BATCHED_QUERY_EXECUTION_DELAYABLE_WRITABLE)
? reducedAggs
: reducedAggs.expand())
: (out.getTransportVersion().supports(BATCHED_QUERY_EXECUTION_DELAYABLE_WRITEABLE) ? reducedAggs : reducedAggs.expand())
);
out.writeVLong(estimatedSize);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

package org.elasticsearch.action.synonyms;

import org.elasticsearch.TransportVersions;
import org.elasticsearch.TransportVersion;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.ActionType;
import org.elasticsearch.action.LegacyActionRequest;
Expand All @@ -31,6 +31,9 @@ public DeleteSynonymRuleAction() {
}

public static class Request extends LegacyActionRequest {

private static final TransportVersion SYNONYMS_REFRESH_PARAM = TransportVersion.fromName("synonyms_refresh_param");

private final String synonymsSetId;
private final String synonymRuleId;
private final boolean refresh;
Expand All @@ -39,7 +42,7 @@ public Request(StreamInput in) throws IOException {
super(in);
this.synonymsSetId = in.readString();
this.synonymRuleId = in.readString();
if (in.getTransportVersion().onOrAfter(TransportVersions.SYNONYMS_REFRESH_PARAM)) {
if (in.getTransportVersion().supports(SYNONYMS_REFRESH_PARAM)) {
this.refresh = in.readBoolean();
} else {
this.refresh = true;
Expand Down Expand Up @@ -70,7 +73,7 @@ public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeString(synonymsSetId);
out.writeString(synonymRuleId);
if (out.getTransportVersion().onOrAfter(TransportVersions.SYNONYMS_REFRESH_PARAM)) {
if (out.getTransportVersion().supports(SYNONYMS_REFRESH_PARAM)) {
out.writeBoolean(refresh);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

package org.elasticsearch.action.synonyms;

import org.elasticsearch.TransportVersions;
import org.elasticsearch.TransportVersion;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.ActionType;
import org.elasticsearch.action.LegacyActionRequest;
Expand Down Expand Up @@ -40,6 +40,9 @@ public PutSynonymRuleAction() {
}

public static class Request extends LegacyActionRequest {

private static final TransportVersion SYNONYMS_REFRESH_PARAM = TransportVersion.fromName("synonyms_refresh_param");

private final String synonymsSetId;
private final SynonymRule synonymRule;
private final boolean refresh;
Expand All @@ -59,7 +62,7 @@ public Request(StreamInput in) throws IOException {
super(in);
this.synonymsSetId = in.readString();
this.synonymRule = new SynonymRule(in);
if (in.getTransportVersion().onOrAfter(TransportVersions.SYNONYMS_REFRESH_PARAM)) {
if (in.getTransportVersion().supports(SYNONYMS_REFRESH_PARAM)) {
this.refresh = in.readBoolean();
} else {
this.refresh = true;
Expand Down Expand Up @@ -105,7 +108,7 @@ public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeString(synonymsSetId);
synonymRule.writeTo(out);
if (out.getTransportVersion().onOrAfter(TransportVersions.SYNONYMS_REFRESH_PARAM)) {
if (out.getTransportVersion().supports(SYNONYMS_REFRESH_PARAM)) {
out.writeBoolean(refresh);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

package org.elasticsearch.action.synonyms;

import org.elasticsearch.TransportVersions;
import org.elasticsearch.TransportVersion;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.ActionType;
import org.elasticsearch.action.LegacyActionRequest;
Expand Down Expand Up @@ -57,11 +57,13 @@ public static class Request extends LegacyActionRequest {
PARSER.declareObjectArray(ConstructingObjectParser.constructorArg(), (p, c) -> SynonymRule.fromXContent(p), SYNONYMS_SET_FIELD);
}

private static final TransportVersion SYNONYMS_REFRESH_PARAM = TransportVersion.fromName("synonyms_refresh_param");

public Request(StreamInput in) throws IOException {
super(in);
this.synonymsSetId = in.readString();
this.synonymRules = in.readArray(SynonymRule::new, SynonymRule[]::new);
if (in.getTransportVersion().onOrAfter(TransportVersions.SYNONYMS_REFRESH_PARAM)) {
if (in.getTransportVersion().supports(SYNONYMS_REFRESH_PARAM)) {
this.refresh = in.readBoolean();
} else {
this.refresh = false;
Expand Down Expand Up @@ -104,7 +106,7 @@ public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeString(synonymsSetId);
out.writeArray(synonymRules);
if (out.getTransportVersion().onOrAfter(TransportVersions.SYNONYMS_REFRESH_PARAM)) {
if (out.getTransportVersion().supports(SYNONYMS_REFRESH_PARAM)) {
out.writeBoolean(refresh);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

package org.elasticsearch.action.synonyms;

import org.elasticsearch.TransportVersions;
import org.elasticsearch.TransportVersion;
import org.elasticsearch.action.ActionResponse;
import org.elasticsearch.action.admin.indices.analyze.ReloadAnalyzersResponse;
import org.elasticsearch.common.io.stream.StreamInput;
Expand All @@ -32,12 +32,14 @@ public class SynonymUpdateResponse extends ActionResponse implements ToXContentO
public static final String RELOAD_ANALYZERS_DETAILS_FIELD = "reload_analyzers_details";
static final ReloadAnalyzersResponse EMPTY_RELOAD_ANALYZER_RESPONSE = new ReloadAnalyzersResponse(0, 0, 0, List.of(), Map.of());

private static final TransportVersion SYNONYMS_REFRESH_PARAM = TransportVersion.fromName("synonyms_refresh_param");

private final UpdateSynonymsResultStatus updateStatus;
private final ReloadAnalyzersResponse reloadAnalyzersResponse;

public SynonymUpdateResponse(StreamInput in) throws IOException {
this.updateStatus = in.readEnum(UpdateSynonymsResultStatus.class);
if (in.getTransportVersion().onOrAfter(TransportVersions.SYNONYMS_REFRESH_PARAM)) {
if (in.getTransportVersion().supports(SYNONYMS_REFRESH_PARAM)) {
this.reloadAnalyzersResponse = in.readOptionalWriteable(ReloadAnalyzersResponse::new);
} else {
this.reloadAnalyzersResponse = new ReloadAnalyzersResponse(in);
Expand Down Expand Up @@ -72,7 +74,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeEnum(updateStatus);
if (out.getTransportVersion().onOrAfter(TransportVersions.SYNONYMS_REFRESH_PARAM)) {
if (out.getTransportVersion().supports(SYNONYMS_REFRESH_PARAM)) {
out.writeOptionalWriteable(reloadAnalyzersResponse);
} else {
if (reloadAnalyzersResponse == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,8 @@ public CompatibilityVersions read(StreamInput in, String key) throws IOException

public static final long UNKNOWN_VERSION = -1;

private static final TransportVersion MULTI_PROJECT = TransportVersion.fromName("multi_project");

/**
* Monotonically increasing on (and therefore uniquely identifies) <i>committed</i> states. However sometimes a state is created/applied
* without committing it, for instance to add a {@link NoMasterBlockService#getNoMasterBlock}.
Expand Down Expand Up @@ -1291,7 +1293,7 @@ public static ClusterState readFrom(StreamInput in, DiscoveryNode localNode) thr
builder.version = in.readLong();
builder.uuid = in.readString();
builder.metadata = Metadata.readFrom(in);
if (in.getTransportVersion().onOrAfter(TransportVersions.MULTI_PROJECT)) {
if (in.getTransportVersion().supports(MULTI_PROJECT)) {
builder.routingTable = GlobalRoutingTable.readFrom(in);
} else {
final RoutingTable rt = RoutingTable.readFrom(in);
Expand All @@ -1317,7 +1319,7 @@ public void writeTo(StreamOutput out) throws IOException {
out.writeLong(version);
out.writeString(stateUUID);
metadata.writeTo(out);
if (out.getTransportVersion().onOrAfter(TransportVersions.MULTI_PROJECT)) {
if (out.getTransportVersion().supports(MULTI_PROJECT)) {
routingTable.writeTo(out);
} else {
routingTable.getRoutingTable().writeTo(out);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1812,6 +1812,8 @@ public void writeTo(StreamOutput out) throws IOException {

private static final class SnapshotInProgressDiff implements NamedDiff<Custom> {

private static final TransportVersion PROJECT_ID_IN_SNAPSHOT = TransportVersion.fromName("project_id_in_snapshot");

private final SnapshotsInProgress after;

private final DiffableUtils.MapDiff<ProjectRepo, ByRepo, Map<ProjectRepo, ByRepo>> mapDiff;
Expand All @@ -1824,7 +1826,7 @@ private static final class SnapshotInProgressDiff implements NamedDiff<Custom> {
}

SnapshotInProgressDiff(StreamInput in) throws IOException {
if (in.getTransportVersion().before(TransportVersions.PROJECT_ID_IN_SNAPSHOT)) {
if (in.getTransportVersion().supports(PROJECT_ID_IN_SNAPSHOT) == false) {
final var oldMapDiff = DiffableUtils.readJdkMapDiff(
in,
DiffableUtils.getStringKeySerializer(),
Expand Down Expand Up @@ -1875,13 +1877,13 @@ public String getWriteableName() {
public void writeTo(StreamOutput out) throws IOException {
assert after != null : "should only write instances that were diffed from this node's state";
if (out.getTransportVersion().onOrAfter(DIFFABLE_VERSION)) {
if (out.getTransportVersion().before(TransportVersions.PROJECT_ID_IN_SNAPSHOT)) {
if (out.getTransportVersion().supports(PROJECT_ID_IN_SNAPSHOT) == false) {
DiffableUtils.jdkMapDiffWithUpdatedKeys(mapDiff, projectRepo -> {
if (ProjectId.DEFAULT.equals(projectRepo.projectId()) == false) {
final var message = "Cannot write instance with non-default project id "
+ projectRepo.projectId()
+ " to version before "
+ TransportVersions.PROJECT_ID_IN_SNAPSHOT;
+ PROJECT_ID_IN_SNAPSHOT;
assert false : message;
throw new IllegalArgumentException(message);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
package org.elasticsearch.cluster.block;

import org.elasticsearch.TransportVersion;
import org.elasticsearch.TransportVersions;
import org.elasticsearch.cluster.Diff;
import org.elasticsearch.cluster.Diffable;
import org.elasticsearch.cluster.SimpleDiffable;
Expand Down Expand Up @@ -46,6 +45,7 @@ public class ClusterBlocks implements Diffable<ClusterBlocks> {

public static final ClusterBlocks EMPTY_CLUSTER_BLOCK = new ClusterBlocks(Set.of(), Map.of());

private static final TransportVersion MULTI_PROJECT = TransportVersion.fromName("multi_project");
private static final TransportVersion PROJECT_DELETION_GLOBAL_BLOCK = TransportVersion.fromName("project_deletion_global_block");

private final Set<ClusterBlock> global;
Expand Down Expand Up @@ -396,7 +396,7 @@ public String toString() {

@Override
public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().onOrAfter(TransportVersions.MULTI_PROJECT)) {
if (out.getTransportVersion().supports(MULTI_PROJECT)) {
writeBlockSet(global, out);
out.writeMap(projectBlocksMap, (o, projectId) -> projectId.writeTo(o), (o, projectBlocks) -> projectBlocks.writeTo(out));
} else {
Expand Down Expand Up @@ -471,7 +471,7 @@ public ClusterBlocks apply(ClusterBlocks part) {
*/
@Override
public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().onOrAfter(TransportVersions.MULTI_PROJECT)) {
if (out.getTransportVersion().supports(MULTI_PROJECT)) {
out.writeBoolean(true);
part.writeTo(out);
} else {
Expand All @@ -492,7 +492,7 @@ private static void writeBlockSet(Set<ClusterBlock> blocks, StreamOutput out) th
}

public static ClusterBlocks readFrom(StreamInput in) throws IOException {
if (in.getTransportVersion().onOrAfter(TransportVersions.MULTI_PROJECT)) {
if (in.getTransportVersion().supports(MULTI_PROJECT)) {
final Set<ClusterBlock> global = readBlockSet(in);
final Map<ProjectId, ProjectBlocks> projectBlocksMap = in.readImmutableMap(ProjectId::readFrom, ProjectBlocks::readFrom);
if (global.isEmpty()
Expand Down Expand Up @@ -524,7 +524,7 @@ private static Set<ClusterBlock> readBlockSet(StreamInput in) throws IOException

public static Diff<ClusterBlocks> readDiffFrom(StreamInput in) throws IOException {
if (in.readBoolean()) {
if (in.getTransportVersion().onOrAfter(TransportVersions.MULTI_PROJECT)) {
if (in.getTransportVersion().supports(MULTI_PROJECT)) {
return new ClusterBlocksDiff(ClusterBlocks.readFrom(in), false);
} else {
return new ClusterBlocksDiff(ClusterBlocks.readFromSingleProjectNode(in), true);
Expand Down
Loading