Skip to content

Commit

Permalink
Update several references to TransportVersion.toString to use toRelea…
Browse files Browse the repository at this point in the history
…seVersion (elastic#107902)
  • Loading branch information
thecoop authored Apr 26, 2024
1 parent a6a29d0 commit 638a450
Show file tree
Hide file tree
Showing 39 changed files with 113 additions and 105 deletions.
5 changes: 5 additions & 0 deletions docs/changelog/107902.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
pr: 107902
summary: Update several references to `TransportVersion.toString` to use `toReleaseVersion`
area: Infra/Core
type: bug
issues: []
Original file line number Diff line number Diff line change
Expand Up @@ -208,8 +208,8 @@ public void testCCSCheckCompatibility() throws Exception {
String expectedCause = Strings.format(
"[fail_before_current_version] was released first in version %s, failed compatibility "
+ "check trying to send it to node with version %s",
FailBeforeCurrentVersionQueryBuilder.FUTURE_VERSION,
TransportVersions.MINIMUM_CCS_VERSION
FailBeforeCurrentVersionQueryBuilder.FUTURE_VERSION.toReleaseVersion(),
TransportVersions.MINIMUM_CCS_VERSION.toReleaseVersion()
);
String actualCause = ex.getCause().getMessage();
assertEquals(expectedCause, actualCause);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import static org.elasticsearch.xcontent.XContentFactory.jsonBuilder;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.matchesRegex;

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

String expectedCause = "[fail_before_current_version] was released first in version XXXXXXX, failed compatibility check trying to"
+ " send it to node with version XXXXXXX";
String actualCause = underlying.getMessage().replaceAll("\\d{7,}", "XXXXXXX");
assertEquals(expectedCause, actualCause);
assertThat(
underlying.getMessage(),
matchesRegex(
"\\[fail_before_current_version] was released first in version .+,"
+ " failed compatibility check trying to send it to node with version .+"
)
);
}

public static void assertHitCount(SearchTemplateRequestBuilder requestBuilder, long expectedHitCount) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@

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

import org.elasticsearch.TransportVersion;
import org.elasticsearch.TransportVersions;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.support.master.MasterNodeRequest;
import org.elasticsearch.common.io.stream.StreamInput;
Expand All @@ -20,14 +18,7 @@
/** Request for resetting feature state */
public class ResetFeatureStateRequest extends MasterNodeRequest<ResetFeatureStateRequest> {

private static final TransportVersion FEATURE_RESET_ON_MASTER = TransportVersions.V_7_14_0;

public static ResetFeatureStateRequest fromStream(StreamInput in) throws IOException {
if (in.getTransportVersion().before(FEATURE_RESET_ON_MASTER)) {
throw new IllegalStateException(
"feature reset is not available in a cluster that have nodes with version before " + FEATURE_RESET_ON_MASTER
);
}
return new ResetFeatureStateRequest(in);
}

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

@Override
public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().before(FEATURE_RESET_ON_MASTER)) {
throw new IllegalStateException(
"feature reset is not available in a cluster that have nodes with version before " + FEATURE_RESET_ON_MASTER
);
}
super.writeTo(out);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ public ResolveClusterActionRequest(StreamInput in) throws IOException {
if (in.getTransportVersion().before(TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED)) {
throw new UnsupportedOperationException(
"ResolveClusterAction requires at least Transport Version "
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED.toReleaseVersion()
+ " but was "
+ in.getTransportVersion()
+ in.getTransportVersion().toReleaseVersion()
);
}
this.names = in.readStringArray();
Expand All @@ -81,9 +81,9 @@ public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().before(TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED)) {
throw new UnsupportedOperationException(
"ResolveClusterAction requires at least Transport Version "
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED.toReleaseVersion()
+ " but was "
+ out.getTransportVersion()
+ out.getTransportVersion().toReleaseVersion()
);
}
out.writeStringArray(names);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().before(TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED)) {
throw new UnsupportedOperationException(
"ResolveClusterAction requires at least Transport Version "
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED.toReleaseVersion()
+ " but was "
+ out.getTransportVersion()
+ out.getTransportVersion().toReleaseVersion()
);
}
out.writeMap(infoMap, StreamOutput::writeWriteable);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().before(TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED)) {
throw new UnsupportedOperationException(
"ResolveClusterAction requires at least Transport Version "
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED
+ TransportVersions.RESOLVE_CLUSTER_ENDPOINT_ADDED.toReleaseVersion()
+ " but was "
+ out.getTransportVersion()
+ out.getTransportVersion().toReleaseVersion()
);
}
out.writeBoolean(connected);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public void writeTo(StreamOutput out) throws IOException {
"support for maxConcurrentShardRequests=["
+ maxConcurrentShardRequests
+ "] was added in version [8.8.0], cannot send this request using transport version ["
+ out.getTransportVersion()
+ out.getTransportVersion().toReleaseVersion()
+ "]"
);
} // else just drop the value and use the default behaviour
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ public static void checkCCSVersionCompatibility(Writeable writeableRequest) {
"["
+ writeableRequest.getClass()
+ "] is not compatible with version "
+ TransportVersions.MINIMUM_CCS_VERSION
+ TransportVersions.MINIMUM_CCS_VERSION.toReleaseVersion()
+ " and the '"
+ SearchService.CCS_VERSION_CHECK_SETTING.getKey()
+ "' setting is enabled.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ public boolean runOnlyOnMaster() {
private static void blockForbiddenVersions(TransportVersion joiningTransportVersion) {
if (FORBIDDEN_VERSIONS.contains(joiningTransportVersion)) {
throw new IllegalStateException(
"A node with transport version " + joiningTransportVersion + " is forbidden from joining this cluster"
"A node with transport version " + joiningTransportVersion.toReleaseVersion() + " is forbidden from joining this cluster"
);
}
}
Expand Down Expand Up @@ -427,9 +427,9 @@ static void ensureTransportVersionBarrier(
if (joiningCompatibilityVersions.transportVersion().before(minClusterTransportVersion)) {
throw new IllegalStateException(
"node with transport version ["
+ joiningCompatibilityVersions.transportVersion()
+ joiningCompatibilityVersions.transportVersion().toReleaseVersion()
+ "] may not join a cluster with minimum transport version ["
+ minClusterTransportVersion
+ minClusterTransportVersion.toReleaseVersion()
+ "]"
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,11 @@ private void sendClusterStateDiff(DiscoveryNode destination, ActionListener<Publ

final ReleasableBytesReference bytes = serializedDiffs.get(connection.getTransportVersion());
assert bytes != null
: "failed to find serialized diff for node " + destination + " of version [" + connection.getTransportVersion() + "]";
: "failed to find serialized diff for node "
+ destination
+ " of version ["
+ connection.getTransportVersion().toReleaseVersion()
+ "]";

// acquire a ref to the context just in case we need to try again with the full cluster state
if (tryIncRef() == false) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ private void checkVersionCompatibility(VersionedNamedWriteable namedWriteable) {
"["
+ namedWriteable.getWriteableName()
+ "] was released first in version "
+ namedWriteable.getMinimalSupportedVersion()
+ namedWriteable.getMinimalSupportedVersion().toReleaseVersion()
+ ", failed compatibility check trying to send it to node with version "
+ getTransportVersion()
+ getTransportVersion().toReleaseVersion()
);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
out.writeVInt(rank);
} else if (rank != NO_RANK) {
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion() + "]");
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion().toReleaseVersion() + "]");
}
out.writeOptionalText(id);
if (out.getTransportVersion().before(TransportVersions.V_8_0_0)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,9 @@ public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_9_X)) {
out.writeCollection(subSearchSourceBuilders);
} else if (out.getTransportVersion().before(TransportVersions.V_8_4_0) && subSearchSourceBuilders.size() >= 2) {
throw new IllegalArgumentException("cannot serialize [sub_searches] to version [" + out.getTransportVersion() + "]");
throw new IllegalArgumentException(
"cannot serialize [sub_searches] to version [" + out.getTransportVersion().toReleaseVersion() + "]"
);
} else {
out.writeOptionalNamedWriteable(query());
}
Expand Down Expand Up @@ -346,8 +348,10 @@ public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().before(TransportVersions.V_8_7_0)) {
if (knnSearch.size() > 1) {
throw new IllegalArgumentException(
"Versions before 8070099 don't support multiple [knn] search clauses and search was sent to ["
+ out.getTransportVersion()
"Versions before ["
+ TransportVersions.V_8_7_0.toReleaseVersion()
+ "] don't support multiple [knn] search clauses and search was sent to ["
+ out.getTransportVersion().toReleaseVersion()
+ "]"
);
}
Expand All @@ -359,7 +363,7 @@ public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
out.writeOptionalNamedWriteable(rankBuilder);
} else if (rankBuilder != null) {
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion() + "]");
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion().toReleaseVersion() + "]");
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,10 @@ public void writeTo(StreamOutput out) throws IOException {
if (knnResults != null && knnResults.size() > 1) {
throw new IllegalArgumentException(
"Cannot serialize multiple KNN results to nodes using previous transport version ["
+ out.getTransportVersion()
+ "], minimum required transport version is [8070099]"
+ out.getTransportVersion().toReleaseVersion()
+ "], minimum required transport version is ["
+ TransportVersions.V_8_7_0.toReleaseVersion()
+ "]"
);
}
out.writeOptionalWriteable(knnResults == null || knnResults.isEmpty() ? null : knnResults.get(0));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ public void writeToNoId(StreamOutput out) throws IOException {
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
out.writeOptionalNamedWriteable(rankShardResult);
} else if (rankShardResult != null) {
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion() + "]");
throw new IllegalArgumentException("cannot serialize [rank] to version [" + out.getTransportVersion().toReleaseVersion() + "]");
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,9 +246,9 @@ static void checkVersionCompatibility(TransportVersion remoteVersion) {
if (TransportVersion.isCompatible(remoteVersion) == false) {
throw new IllegalStateException(
"Received message from unsupported version: ["
+ remoteVersion
+ remoteVersion.toReleaseVersion()
+ "] minimal compatible version is: ["
+ TransportVersions.MINIMUM_COMPATIBLE
+ TransportVersions.MINIMUM_COMPATIBLE.toReleaseVersion()
+ "]"
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ public void testCheckVersionCompatibility() throws IOException {
);
assertEquals(
"[test_writable] was released first in version "
+ TransportVersion.current()
+ TransportVersion.current().toReleaseVersion()
+ ", failed compatibility check trying to send it to node with version "
+ streamVersion,
+ streamVersion.toReleaseVersion(),
e.getMessage()
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -477,9 +477,9 @@ public void testCheckVersionCompatibility() {
} catch (IllegalStateException expected) {
assertEquals(
"Received message from unsupported version: ["
+ invalid
+ invalid.toReleaseVersion()
+ "] minimal compatible version is: ["
+ TransportVersions.MINIMUM_COMPATIBLE
+ TransportVersions.MINIMUM_COMPATIBLE.toReleaseVersion()
+ "]",
expected.getMessage()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
public class FailBeforeCurrentVersionQueryBuilder extends DummyQueryBuilder {

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

public FailBeforeCurrentVersionQueryBuilder(StreamInput in) throws IOException {
super(in);
Expand All @@ -49,6 +49,6 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws
public TransportVersion getMinimalSupportedVersion() {
// this is what causes the failure - it always reports a version in the future, so it is never compatible with
// current or minimum CCS TransportVersion
return new TransportVersion(FUTURE_VERSION);
return FUTURE_VERSION;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,7 @@ public final class SourceDestValidator {
+ "alias [{0}], license is not active";
public static final String REMOTE_SOURCE_INDICES_NOT_SUPPORTED = "remote source indices are not supported";
public static final String REMOTE_CLUSTERS_TRANSPORT_TOO_OLD =
"remote clusters are expected to run at least transport version [{0}] (reason: [{1}]),"
+ " but the following clusters were too old: [{2}]";
"remote clusters are expected to run at least version [{0}] (reason: [{1}])," + " but the following clusters were too old: [{2}]";
public static final String PIPELINE_MISSING = "Pipeline with id [{0}] could not be found";

private final IndexNameExpressionResolver indexNameExpressionResolver;
Expand Down Expand Up @@ -491,12 +490,12 @@ public void validate(Context context, ActionListener<Context> listener) {
if (oldRemoteClusterVersions.isEmpty() == false) {
context.addValidationError(
REMOTE_CLUSTERS_TRANSPORT_TOO_OLD,
minExpectedVersion,
minExpectedVersion.toReleaseVersion(),
reason,
oldRemoteClusterVersions.entrySet()
.stream()
.sorted(comparingByKey()) // sort to have a deterministic order among clusters in the resulting string
.map(e -> e.getKey() + " (" + e.getValue() + ")")
.map(e -> e.getKey() + " (" + e.getValue().toReleaseVersion() + ")")
.collect(joining(", "))
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,9 @@ public void writeTo(StreamOutput out) throws IOException {
} else if (hasRemoteIndicesPrivileges()) {
throw new IllegalArgumentException(
"versions of Elasticsearch before ["
+ TransportVersions.V_8_8_0
+ TransportVersions.V_8_8_0.toReleaseVersion()
+ "] can't handle remote indices privileges and attempted to send to ["
+ out.getTransportVersion()
+ out.getTransportVersion().toReleaseVersion()
+ "]"
);
}
Expand Down
Loading

0 comments on commit 638a450

Please sign in to comment.