Skip to content

Commit 638a450

Browse files
authored
Update several references to TransportVersion.toString to use toReleaseVersion (#107902)
1 parent a6a29d0 commit 638a450

File tree

39 files changed

+113
-105
lines changed

39 files changed

+113
-105
lines changed

docs/changelog/107902.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 107902
2+
summary: Update several references to `TransportVersion.toString` to use `toReleaseVersion`
3+
area: Infra/Core
4+
type: bug
5+
issues: []

modules/lang-mustache/src/internalClusterTest/java/org/elasticsearch/script/mustache/MultiSearchTemplateIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,8 @@ public void testCCSCheckCompatibility() throws Exception {
208208
String expectedCause = Strings.format(
209209
"[fail_before_current_version] was released first in version %s, failed compatibility "
210210
+ "check trying to send it to node with version %s",
211-
FailBeforeCurrentVersionQueryBuilder.FUTURE_VERSION,
212-
TransportVersions.MINIMUM_CCS_VERSION
211+
FailBeforeCurrentVersionQueryBuilder.FUTURE_VERSION.toReleaseVersion(),
212+
TransportVersions.MINIMUM_CCS_VERSION.toReleaseVersion()
213213
);
214214
String actualCause = ex.getCause().getMessage();
215215
assertEquals(expectedCause, actualCause);

modules/lang-mustache/src/internalClusterTest/java/org/elasticsearch/script/mustache/SearchTemplateIT.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import static org.elasticsearch.xcontent.XContentFactory.jsonBuilder;
3838
import static org.hamcrest.Matchers.containsString;
3939
import static org.hamcrest.Matchers.equalTo;
40+
import static org.hamcrest.Matchers.matchesRegex;
4041

4142
/**
4243
* Full integration test of the template query plugin.
@@ -441,10 +442,13 @@ public void testCCSCheckCompatibility() throws Exception {
441442
);
442443
assertThat(primary.getMessage(), containsString("'search.check_ccs_compatibility' setting is enabled."));
443444

444-
String expectedCause = "[fail_before_current_version] was released first in version XXXXXXX, failed compatibility check trying to"
445-
+ " send it to node with version XXXXXXX";
446-
String actualCause = underlying.getMessage().replaceAll("\\d{7,}", "XXXXXXX");
447-
assertEquals(expectedCause, actualCause);
445+
assertThat(
446+
underlying.getMessage(),
447+
matchesRegex(
448+
"\\[fail_before_current_version] was released first in version .+,"
449+
+ " failed compatibility check trying to send it to node with version .+"
450+
)
451+
);
448452
}
449453

450454
public static void assertHitCount(SearchTemplateRequestBuilder requestBuilder, long expectedHitCount) {

server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/features/ResetFeatureStateRequest.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88

99
package org.elasticsearch.action.admin.cluster.snapshots.features;
1010

11-
import org.elasticsearch.TransportVersion;
12-
import org.elasticsearch.TransportVersions;
1311
import org.elasticsearch.action.ActionRequestValidationException;
1412
import org.elasticsearch.action.support.master.MasterNodeRequest;
1513
import org.elasticsearch.common.io.stream.StreamInput;
@@ -20,14 +18,7 @@
2018
/** Request for resetting feature state */
2119
public class ResetFeatureStateRequest extends MasterNodeRequest<ResetFeatureStateRequest> {
2220

23-
private static final TransportVersion FEATURE_RESET_ON_MASTER = TransportVersions.V_7_14_0;
24-
2521
public static ResetFeatureStateRequest fromStream(StreamInput in) throws IOException {
26-
if (in.getTransportVersion().before(FEATURE_RESET_ON_MASTER)) {
27-
throw new IllegalStateException(
28-
"feature reset is not available in a cluster that have nodes with version before " + FEATURE_RESET_ON_MASTER
29-
);
30-
}
3122
return new ResetFeatureStateRequest(in);
3223
}
3324

@@ -39,11 +30,6 @@ private ResetFeatureStateRequest(StreamInput in) throws IOException {
3930

4031
@Override
4132
public void writeTo(StreamOutput out) throws IOException {
42-
if (out.getTransportVersion().before(FEATURE_RESET_ON_MASTER)) {
43-
throw new IllegalStateException(
44-
"feature reset is not available in a cluster that have nodes with version before " + FEATURE_RESET_ON_MASTER
45-
);
46-
}
4733
super.writeTo(out);
4834
}
4935

server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterActionRequest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ public ResolveClusterActionRequest(StreamInput in) throws IOException {
6565
if (in.getTransportVersion().before(TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED)) {
6666
throw new UnsupportedOperationException(
6767
"ResolveClusterAction requires at least Transport Version "
68-
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED
68+
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED.toReleaseVersion()
6969
+ " but was "
70-
+ in.getTransportVersion()
70+
+ in.getTransportVersion().toReleaseVersion()
7171
);
7272
}
7373
this.names = in.readStringArray();
@@ -81,9 +81,9 @@ public void writeTo(StreamOutput out) throws IOException {
8181
if (out.getTransportVersion().before(TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED)) {
8282
throw new UnsupportedOperationException(
8383
"ResolveClusterAction requires at least Transport Version "
84-
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED
84+
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED.toReleaseVersion()
8585
+ " but was "
86-
+ out.getTransportVersion()
86+
+ out.getTransportVersion().toReleaseVersion()
8787
);
8888
}
8989
out.writeStringArray(names);

server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterActionResponse.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ public void writeTo(StreamOutput out) throws IOException {
4747
if (out.getTransportVersion().before(TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED)) {
4848
throw new UnsupportedOperationException(
4949
"ResolveClusterAction requires at least Transport Version "
50-
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED
50+
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED.toReleaseVersion()
5151
+ " but was "
52-
+ out.getTransportVersion()
52+
+ out.getTransportVersion().toReleaseVersion()
5353
);
5454
}
5555
out.writeMap(infoMap, StreamOutput::writeWriteable);

server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterInfo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ public void writeTo(StreamOutput out) throws IOException {
6868
if (out.getTransportVersion().before(TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED)) {
6969
throw new UnsupportedOperationException(
7070
"ResolveClusterAction requires at least Transport Version "
71-
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED
71+
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED.toReleaseVersion()
7272
+ " but was "
73-
+ out.getTransportVersion()
73+
+ out.getTransportVersion().toReleaseVersion()
7474
);
7575
}
7676
out.writeBoolean(connected);

server/src/main/java/org/elasticsearch/action/admin/indices/shards/IndicesShardStoresRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public void writeTo(StreamOutput out) throws IOException {
7575
"support for maxConcurrentShardRequests=["
7676
+ maxConcurrentShardRequests
7777
+ "] was added in version [8.8.0], cannot send this request using transport version ["
78-
+ out.getTransportVersion()
78+
+ out.getTransportVersion().toReleaseVersion()
7979
+ "]"
8080
);
8181
} // else just drop the value and use the default behaviour

server/src/main/java/org/elasticsearch/action/search/TransportSearchHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ public static void checkCCSVersionCompatibility(Writeable writeableRequest) {
139139
"["
140140
+ writeableRequest.getClass()
141141
+ "] is not compatible with version "
142-
+ TransportVersions.MINIMUM_CCS_VERSION
142+
+ TransportVersions.MINIMUM_CCS_VERSION.toReleaseVersion()
143143
+ " and the '"
144144
+ SearchService.CCS_VERSION_CHECK_SETTING.getKey()
145145
+ "' setting is enabled.",

server/src/main/java/org/elasticsearch/cluster/coordination/NodeJoinExecutor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ public boolean runOnlyOnMaster() {
341341
private static void blockForbiddenVersions(TransportVersion joiningTransportVersion) {
342342
if (FORBIDDEN_VERSIONS.contains(joiningTransportVersion)) {
343343
throw new IllegalStateException(
344-
"A node with transport version " + joiningTransportVersion + " is forbidden from joining this cluster"
344+
"A node with transport version " + joiningTransportVersion.toReleaseVersion() + " is forbidden from joining this cluster"
345345
);
346346
}
347347
}
@@ -427,9 +427,9 @@ static void ensureTransportVersionBarrier(
427427
if (joiningCompatibilityVersions.transportVersion().before(minClusterTransportVersion)) {
428428
throw new IllegalStateException(
429429
"node with transport version ["
430-
+ joiningCompatibilityVersions.transportVersion()
430+
+ joiningCompatibilityVersions.transportVersion().toReleaseVersion()
431431
+ "] may not join a cluster with minimum transport version ["
432-
+ minClusterTransportVersion
432+
+ minClusterTransportVersion.toReleaseVersion()
433433
+ "]"
434434
);
435435
}

server/src/main/java/org/elasticsearch/cluster/coordination/PublicationTransportHandler.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,11 @@ private void sendClusterStateDiff(DiscoveryNode destination, ActionListener<Publ
456456

457457
final ReleasableBytesReference bytes = serializedDiffs.get(connection.getTransportVersion());
458458
assert bytes != null
459-
: "failed to find serialized diff for node " + destination + " of version [" + connection.getTransportVersion() + "]";
459+
: "failed to find serialized diff for node "
460+
+ destination
461+
+ " of version ["
462+
+ connection.getTransportVersion().toReleaseVersion()
463+
+ "]";
460464

461465
// acquire a ref to the context just in case we need to try again with the full cluster state
462466
if (tryIncRef() == false) {

server/src/main/java/org/elasticsearch/common/io/stream/VersionCheckingStreamOutput.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ private void checkVersionCompatibility(VersionedNamedWriteable namedWriteable) {
6767
"["
6868
+ namedWriteable.getWriteableName()
6969
+ "] was released first in version "
70-
+ namedWriteable.getMinimalSupportedVersion()
70+
+ namedWriteable.getMinimalSupportedVersion().toReleaseVersion()
7171
+ ", failed compatibility check trying to send it to node with version "
72-
+ getTransportVersion()
72+
+ getTransportVersion().toReleaseVersion()
7373
);
7474
}
7575
}

server/src/main/java/org/elasticsearch/search/SearchHit.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ public void writeTo(StreamOutput out) throws IOException {
307307
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
308308
out.writeVInt(rank);
309309
} else if (rank != NO_RANK) {
310-
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion() + "]");
310+
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion().toReleaseVersion() + "]");
311311
}
312312
out.writeOptionalText(id);
313313
if (out.getTransportVersion().before(TransportVersions.V_8_0_0)) {

server/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,9 @@ public void writeTo(StreamOutput out) throws IOException {
299299
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_9_X)) {
300300
out.writeCollection(subSearchSourceBuilders);
301301
} else if (out.getTransportVersion().before(TransportVersions.V_8_4_0) && subSearchSourceBuilders.size() >= 2) {
302-
throw new IllegalArgumentException("cannot serialize [sub_searches] to version [" + out.getTransportVersion() + "]");
302+
throw new IllegalArgumentException(
303+
"cannot serialize [sub_searches] to version [" + out.getTransportVersion().toReleaseVersion() + "]"
304+
);
303305
} else {
304306
out.writeOptionalNamedWriteable(query());
305307
}
@@ -346,8 +348,10 @@ public void writeTo(StreamOutput out) throws IOException {
346348
if (out.getTransportVersion().before(TransportVersions.V_8_7_0)) {
347349
if (knnSearch.size() > 1) {
348350
throw new IllegalArgumentException(
349-
"Versions before 8070099 don't support multiple [knn] search clauses and search was sent to ["
350-
+ out.getTransportVersion()
351+
"Versions before ["
352+
+ TransportVersions.V_8_7_0.toReleaseVersion()
353+
+ "] don't support multiple [knn] search clauses and search was sent to ["
354+
+ out.getTransportVersion().toReleaseVersion()
351355
+ "]"
352356
);
353357
}
@@ -359,7 +363,7 @@ public void writeTo(StreamOutput out) throws IOException {
359363
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
360364
out.writeOptionalNamedWriteable(rankBuilder);
361365
} else if (rankBuilder != null) {
362-
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion() + "]");
366+
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion().toReleaseVersion() + "]");
363367
}
364368
}
365369

server/src/main/java/org/elasticsearch/search/dfs/DfsSearchResult.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,10 @@ public void writeTo(StreamOutput out) throws IOException {
141141
if (knnResults != null && knnResults.size() > 1) {
142142
throw new IllegalArgumentException(
143143
"Cannot serialize multiple KNN results to nodes using previous transport version ["
144-
+ out.getTransportVersion()
145-
+ "], minimum required transport version is [8070099]"
144+
+ out.getTransportVersion().toReleaseVersion()
145+
+ "], minimum required transport version is ["
146+
+ TransportVersions.V_8_7_0.toReleaseVersion()
147+
+ "]"
146148
);
147149
}
148150
out.writeOptionalWriteable(knnResults == null || knnResults.isEmpty() ? null : knnResults.get(0));

server/src/main/java/org/elasticsearch/search/query/QuerySearchResult.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,7 @@ public void writeToNoId(StreamOutput out) throws IOException {
456456
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
457457
out.writeOptionalNamedWriteable(rankShardResult);
458458
} else if (rankShardResult != null) {
459-
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion() + "]");
459+
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion().toReleaseVersion() + "]");
460460
}
461461
}
462462

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,9 +246,9 @@ static void checkVersionCompatibility(TransportVersion remoteVersion) {
246246
if (TransportVersion.isCompatible(remoteVersion) == false) {
247247
throw new IllegalStateException(
248248
"Received message from unsupported version: ["
249-
+ remoteVersion
249+
+ remoteVersion.toReleaseVersion()
250250
+ "] minimal compatible version is: ["
251-
+ TransportVersions.MINIMUM_COMPATIBLE
251+
+ TransportVersions.MINIMUM_COMPATIBLE.toReleaseVersion()
252252
+ "]"
253253
);
254254
}

server/src/test/java/org/elasticsearch/common/io/stream/VersionCheckingStreamOutputTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ public void testCheckVersionCompatibility() throws IOException {
4949
);
5050
assertEquals(
5151
"[test_writable] was released first in version "
52-
+ TransportVersion.current()
52+
+ TransportVersion.current().toReleaseVersion()
5353
+ ", failed compatibility check trying to send it to node with version "
54-
+ streamVersion,
54+
+ streamVersion.toReleaseVersion(),
5555
e.getMessage()
5656
);
5757
}

server/src/test/java/org/elasticsearch/transport/InboundDecoderTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -477,9 +477,9 @@ public void testCheckVersionCompatibility() {
477477
} catch (IllegalStateException expected) {
478478
assertEquals(
479479
"Received message from unsupported version: ["
480-
+ invalid
480+
+ invalid.toReleaseVersion()
481481
+ "] minimal compatible version is: ["
482-
+ TransportVersions.MINIMUM_COMPATIBLE
482+
+ TransportVersions.MINIMUM_COMPATIBLE.toReleaseVersion()
483483
+ "]",
484484
expected.getMessage()
485485
);

test/framework/src/main/java/org/elasticsearch/search/FailBeforeCurrentVersionQueryBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
public class FailBeforeCurrentVersionQueryBuilder extends DummyQueryBuilder {
2323

2424
public static final String NAME = "fail_before_current_version";
25-
public static final int FUTURE_VERSION = TransportVersion.current().id() + 11_111;
25+
public static final TransportVersion FUTURE_VERSION = TransportVersion.fromId(TransportVersion.current().id() + 11_111);
2626

2727
public FailBeforeCurrentVersionQueryBuilder(StreamInput in) throws IOException {
2828
super(in);
@@ -49,6 +49,6 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws
4949
public TransportVersion getMinimalSupportedVersion() {
5050
// this is what causes the failure - it always reports a version in the future, so it is never compatible with
5151
// current or minimum CCS TransportVersion
52-
return new TransportVersion(FUTURE_VERSION);
52+
return FUTURE_VERSION;
5353
}
5454
}

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/common/validation/SourceDestValidator.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ public final class SourceDestValidator {
7171
+ "alias [{0}], license is not active";
7272
public static final String REMOTE_SOURCE_INDICES_NOT_SUPPORTED = "remote source indices are not supported";
7373
public static final String REMOTE_CLUSTERS_TRANSPORT_TOO_OLD =
74-
"remote clusters are expected to run at least transport version [{0}] (reason: [{1}]),"
75-
+ " but the following clusters were too old: [{2}]";
74+
"remote clusters are expected to run at least version [{0}] (reason: [{1}])," + " but the following clusters were too old: [{2}]";
7675
public static final String PIPELINE_MISSING = "Pipeline with id [{0}] could not be found";
7776

7877
private final IndexNameExpressionResolver indexNameExpressionResolver;
@@ -491,12 +490,12 @@ public void validate(Context context, ActionListener<Context> listener) {
491490
if (oldRemoteClusterVersions.isEmpty() == false) {
492491
context.addValidationError(
493492
REMOTE_CLUSTERS_TRANSPORT_TOO_OLD,
494-
minExpectedVersion,
493+
minExpectedVersion.toReleaseVersion(),
495494
reason,
496495
oldRemoteClusterVersions.entrySet()
497496
.stream()
498497
.sorted(comparingByKey()) // sort to have a deterministic order among clusters in the resulting string
499-
.map(e -> e.getKey() + " (" + e.getValue() + ")")
498+
.map(e -> e.getKey() + " (" + e.getValue().toReleaseVersion() + ")")
500499
.collect(joining(", "))
501500
);
502501
}

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponse.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,9 @@ public void writeTo(StreamOutput out) throws IOException {
111111
} else if (hasRemoteIndicesPrivileges()) {
112112
throw new IllegalArgumentException(
113113
"versions of Elasticsearch before ["
114-
+ TransportVersions.V_8_8_0
114+
+ TransportVersions.V_8_8_0.toReleaseVersion()
115115
+ "] can't handle remote indices privileges and attempted to send to ["
116-
+ out.getTransportVersion()
116+
+ out.getTransportVersion().toReleaseVersion()
117117
+ "]"
118118
);
119119
}

0 commit comments

Comments
 (0)