Skip to content

Commit 45b79fa

Browse files
committed
Add 9.0 patch transport version constants
Transport version changes must be unique per branch. Some transport version changes meant for 9.0 are missing unique backport constants. This commit adds constants and adjusts the transport logic to use the new constants.
1 parent 8206411 commit 45b79fa

File tree

8 files changed

+39
-13
lines changed

8 files changed

+39
-13
lines changed

server/src/main/java/org/elasticsearch/TransportVersions.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,11 @@ static TransportVersion def(int id) {
174174
public static final TransportVersion ML_INFERENCE_IBM_WATSONX_RERANK_ADDED = def(8_840_0_00);
175175
public static final TransportVersion COHERE_BIT_EMBEDDING_TYPE_SUPPORT_ADDED_BACKPORT_8_X = def(8_840_0_01);
176176
public static final TransportVersion ELASTICSEARCH_9_0 = def(9_000_0_00);
177+
public static final TransportVersion REMOVE_SNAPSHOT_FAILURES_90 = def(9_001_0_01);
178+
public static final TransportVersion TRANSPORT_STATS_HANDLING_TIME_REQUIRED_90 = def(9_000_0_02);
179+
public static final TransportVersion REMOVE_DESIRED_NODE_VERSION_90 = def(9_000_0_03);
180+
public static final TransportVersion ESQL_DRIVER_TASK_DESCRIPTION_90 = def(9_000_0_04);
181+
public static final TransportVersion ESQL_RETRY_ON_SHARD_LEVEL_FAILURE_90 = def(9_000_0_05);
177182
public static final TransportVersion COHERE_BIT_EMBEDDING_TYPE_SUPPORT_ADDED = def(9_001_0_00);
178183
public static final TransportVersion REMOVE_SNAPSHOT_FAILURES = def(9_002_0_00);
179184
public static final TransportVersion TRANSPORT_STATS_HANDLING_TIME_REQUIRED = def(9_003_0_00);

server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/get/GetSnapshotsResponse.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ public GetSnapshotsResponse(List<SnapshotInfo> snapshots, @Nullable String next,
4949

5050
public GetSnapshotsResponse(StreamInput in) throws IOException {
5151
this.snapshots = in.readCollectionAsImmutableList(SnapshotInfo::readFrom);
52-
if (in.getTransportVersion().before(TransportVersions.REMOVE_SNAPSHOT_FAILURES)) {
52+
if (in.getTransportVersion().before(TransportVersions.REMOVE_SNAPSHOT_FAILURES) &&
53+
in.getTransportVersion().isPatchFrom(TransportVersions.REMOVE_SNAPSHOT_FAILURES_90) == false) {
5354
// Deprecated `failures` field
5455
in.readMap(StreamInput::readException);
5556
}
@@ -83,7 +84,8 @@ public int remaining() {
8384
@Override
8485
public void writeTo(StreamOutput out) throws IOException {
8586
out.writeCollection(snapshots);
86-
if (out.getTransportVersion().before(TransportVersions.REMOVE_SNAPSHOT_FAILURES)) {
87+
if (out.getTransportVersion().before(TransportVersions.REMOVE_SNAPSHOT_FAILURES) &&
88+
out.getTransportVersion().isPatchFrom(TransportVersions.REMOVE_SNAPSHOT_FAILURES_90) == false) {
8789
// Deprecated `failures` field
8890
out.writeMap(Map.of(), StreamOutput::writeException);
8991
}

server/src/main/java/org/elasticsearch/cluster/metadata/DesiredNode.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ public static DesiredNode readFrom(StreamInput in) throws IOException {
161161
}
162162
final var memory = ByteSizeValue.readFrom(in);
163163
final var storage = ByteSizeValue.readFrom(in);
164-
if (in.getTransportVersion().before(TransportVersions.REMOVE_DESIRED_NODE_VERSION)) {
164+
if (in.getTransportVersion().before(TransportVersions.REMOVE_DESIRED_NODE_VERSION) &&
165+
in.getTransportVersion().isPatchFrom(TransportVersions.REMOVE_DESIRED_NODE_VERSION_90) == false) {
165166
in.readOptionalString();
166167
}
167168
return new DesiredNode(settings, processors, processorsRange, memory, storage);
@@ -180,7 +181,8 @@ public void writeTo(StreamOutput out) throws IOException {
180181
}
181182
memory.writeTo(out);
182183
storage.writeTo(out);
183-
if (out.getTransportVersion().before(TransportVersions.REMOVE_DESIRED_NODE_VERSION)) {
184+
if (out.getTransportVersion().before(TransportVersions.REMOVE_DESIRED_NODE_VERSION) &&
185+
out.getTransportVersion().isPatchFrom(TransportVersions.REMOVE_DESIRED_NODE_VERSION_90) == false) {
184186
out.writeOptionalString(null);
185187
}
186188
}

server/src/main/java/org/elasticsearch/transport/TransportStats.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ public TransportStats(StreamInput in) throws IOException {
6969
rxSize = in.readVLong();
7070
txCount = in.readVLong();
7171
txSize = in.readVLong();
72-
if (in.getTransportVersion().before(TransportVersions.TRANSPORT_STATS_HANDLING_TIME_REQUIRED)) {
72+
if (in.getTransportVersion().before(TransportVersions.TRANSPORT_STATS_HANDLING_TIME_REQUIRED) &&
73+
in.getTransportVersion().isPatchFrom(TransportVersions.TRANSPORT_STATS_HANDLING_TIME_REQUIRED_90) == false) {
7374
in.readBoolean();
7475
}
7576
inboundHandlingTimeBucketFrequencies = new long[HandlingTimeTracker.BUCKET_COUNT];
@@ -98,7 +99,8 @@ public void writeTo(StreamOutput out) throws IOException {
9899
out.writeVLong(txSize);
99100
assert inboundHandlingTimeBucketFrequencies.length == HandlingTimeTracker.BUCKET_COUNT;
100101
assert outboundHandlingTimeBucketFrequencies.length == HandlingTimeTracker.BUCKET_COUNT;
101-
if (out.getTransportVersion().before(TransportVersions.TRANSPORT_STATS_HANDLING_TIME_REQUIRED)) {
102+
if (out.getTransportVersion().before(TransportVersions.TRANSPORT_STATS_HANDLING_TIME_REQUIRED) &&
103+
out.getTransportVersion().isPatchFrom(TransportVersions.TRANSPORT_STATS_HANDLING_TIME_REQUIRED_90) == false) {
102104
out.writeBoolean(true);
103105
}
104106
for (long handlingTimeBucketFrequency : inboundHandlingTimeBucketFrequencies) {

x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/operator/DriverProfile.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,12 @@ public DriverProfile(
8989
}
9090

9191
public DriverProfile(StreamInput in) throws IOException {
92-
this.taskDescription = in.getTransportVersion().onOrAfter(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION) ? in.readString() : "";
92+
if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION) ||
93+
in.getTransportVersion().isPatchFrom(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION_90)) {
94+
this.taskDescription = in.readString();
95+
} else {
96+
this.taskDescription = "";
97+
}
9398
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_16_0)) {
9499
this.startMillis = in.readVLong();
95100
this.stopMillis = in.readVLong();
@@ -112,7 +117,8 @@ public DriverProfile(StreamInput in) throws IOException {
112117

113118
@Override
114119
public void writeTo(StreamOutput out) throws IOException {
115-
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION)) {
120+
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION) ||
121+
out.getTransportVersion().isPatchFrom(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION_90)) {
116122
out.writeString(taskDescription);
117123
}
118124
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_16_0)) {

x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/operator/DriverStatus.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,12 @@ public class DriverStatus implements Task.Status {
112112

113113
public DriverStatus(StreamInput in) throws IOException {
114114
this.sessionId = in.readString();
115-
this.taskDescription = in.getTransportVersion().onOrAfter(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION) ? in.readString() : "";
115+
if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION) ||
116+
in.getTransportVersion().isPatchFrom(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION_90)) {
117+
this.taskDescription = in.readString();
118+
} else {
119+
this.taskDescription = "";
120+
}
116121
this.started = in.getTransportVersion().onOrAfter(TransportVersions.V_8_14_0) ? in.readLong() : 0;
117122
this.lastUpdated = in.readLong();
118123
this.cpuNanos = in.getTransportVersion().onOrAfter(TransportVersions.V_8_14_0) ? in.readVLong() : 0;
@@ -130,7 +135,8 @@ public DriverStatus(StreamInput in) throws IOException {
130135
@Override
131136
public void writeTo(StreamOutput out) throws IOException {
132137
out.writeString(sessionId);
133-
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION)) {
138+
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION) ||
139+
out.getTransportVersion().isPatchFrom(TransportVersions.ESQL_DRIVER_TASK_DESCRIPTION_90)) {
134140
out.writeString(taskDescription);
135141
}
136142
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_14_0)) {

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/plugin/DataNodeComputeHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,8 @@ public void messageReceived(DataNodeRequest request, TransportChannel channel, T
450450
request.runNodeLevelReduction()
451451
);
452452
// the sender doesn't support retry on shard failures, so we need to fail fast here.
453-
final boolean failFastOnShardFailures = channel.getVersion().before(TransportVersions.ESQL_RETRY_ON_SHARD_LEVEL_FAILURE);
453+
final boolean failFastOnShardFailures = channel.getVersion().before(TransportVersions.ESQL_RETRY_ON_SHARD_LEVEL_FAILURE) &&
454+
channel.getVersion().isPatchFrom(TransportVersions.ESQL_RETRY_ON_SHARD_LEVEL_FAILURE_90) == false;
454455
runComputeOnDataNode((CancellableTask) task, sessionId, reductionPlan, request, failFastOnShardFailures, listener);
455456
}
456457
}

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/plugin/DataNodeComputeResponse.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ final class DataNodeComputeResponse extends TransportResponse {
3232
}
3333

3434
DataNodeComputeResponse(StreamInput in) throws IOException {
35-
if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_RETRY_ON_SHARD_LEVEL_FAILURE)) {
35+
if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_RETRY_ON_SHARD_LEVEL_FAILURE) ||
36+
in.getTransportVersion().isPatchFrom(TransportVersions.ESQL_RETRY_ON_SHARD_LEVEL_FAILURE_90)) {
3637
this.profiles = in.readCollectionAsImmutableList(DriverProfile::new);
3738
this.shardLevelFailures = in.readMap(ShardId::new, StreamInput::readException);
3839
} else {
@@ -43,7 +44,8 @@ final class DataNodeComputeResponse extends TransportResponse {
4344

4445
@Override
4546
public void writeTo(StreamOutput out) throws IOException {
46-
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_RETRY_ON_SHARD_LEVEL_FAILURE)) {
47+
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_RETRY_ON_SHARD_LEVEL_FAILURE) ||
48+
out.getTransportVersion().isPatchFrom(TransportVersions.ESQL_RETRY_ON_SHARD_LEVEL_FAILURE_90)) {
4749
out.writeCollection(profiles, (o, v) -> v.writeTo(o));
4850
out.writeMap(shardLevelFailures, (o, v) -> v.writeTo(o), StreamOutput::writeException);
4951
} else {

0 commit comments

Comments
 (0)