diff --git a/docs/changelog/107902.yaml b/docs/changelog/107902.yaml new file mode 100644 index 0000000000000..6b25f8c12df60 --- /dev/null +++ b/docs/changelog/107902.yaml @@ -0,0 +1,5 @@ +pr: 107902 +summary: Update several references to `TransportVersion.toString` to use `toReleaseVersion` +area: Infra/Core +type: bug +issues: [] diff --git a/modules/lang-mustache/src/internalClusterTest/java/org/elasticsearch/script/mustache/MultiSearchTemplateIT.java b/modules/lang-mustache/src/internalClusterTest/java/org/elasticsearch/script/mustache/MultiSearchTemplateIT.java index 0c3376c9c8a90..c01f6ef46d0c4 100644 --- a/modules/lang-mustache/src/internalClusterTest/java/org/elasticsearch/script/mustache/MultiSearchTemplateIT.java +++ b/modules/lang-mustache/src/internalClusterTest/java/org/elasticsearch/script/mustache/MultiSearchTemplateIT.java @@ -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); diff --git a/modules/lang-mustache/src/internalClusterTest/java/org/elasticsearch/script/mustache/SearchTemplateIT.java b/modules/lang-mustache/src/internalClusterTest/java/org/elasticsearch/script/mustache/SearchTemplateIT.java index 510ff01cf93f7..e17fb4b26cd28 100644 --- a/modules/lang-mustache/src/internalClusterTest/java/org/elasticsearch/script/mustache/SearchTemplateIT.java +++ b/modules/lang-mustache/src/internalClusterTest/java/org/elasticsearch/script/mustache/SearchTemplateIT.java @@ -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. @@ -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) { diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/features/ResetFeatureStateRequest.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/features/ResetFeatureStateRequest.java index 2c6769f5edd57..5a7bd2aee3619 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/features/ResetFeatureStateRequest.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/features/ResetFeatureStateRequest.java @@ -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; @@ -20,14 +18,7 @@ /** Request for resetting feature state */ public class ResetFeatureStateRequest extends MasterNodeRequest { - 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); } @@ -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); } diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterActionRequest.java b/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterActionRequest.java index 858202d316d89..1649e4587d63c 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterActionRequest.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterActionRequest.java @@ -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(); @@ -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); diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterActionResponse.java b/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterActionResponse.java index 87439796f78f4..ee2e3d60dc56e 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterActionResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterActionResponse.java @@ -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); diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterInfo.java b/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterInfo.java index 37dc99c95f10d..578b4ae547a06 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterInfo.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveClusterInfo.java @@ -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); diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/shards/IndicesShardStoresRequest.java b/server/src/main/java/org/elasticsearch/action/admin/indices/shards/IndicesShardStoresRequest.java index 0ff478365cb53..475c9c16f149e 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/shards/IndicesShardStoresRequest.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/shards/IndicesShardStoresRequest.java @@ -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 diff --git a/server/src/main/java/org/elasticsearch/action/search/TransportSearchHelper.java b/server/src/main/java/org/elasticsearch/action/search/TransportSearchHelper.java index ffaecedb62bba..7cf48245c9a94 100644 --- a/server/src/main/java/org/elasticsearch/action/search/TransportSearchHelper.java +++ b/server/src/main/java/org/elasticsearch/action/search/TransportSearchHelper.java @@ -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.", diff --git a/server/src/main/java/org/elasticsearch/cluster/coordination/NodeJoinExecutor.java b/server/src/main/java/org/elasticsearch/cluster/coordination/NodeJoinExecutor.java index c35ea1279ac99..2c024063e2399 100644 --- a/server/src/main/java/org/elasticsearch/cluster/coordination/NodeJoinExecutor.java +++ b/server/src/main/java/org/elasticsearch/cluster/coordination/NodeJoinExecutor.java @@ -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" ); } } @@ -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() + "]" ); } diff --git a/server/src/main/java/org/elasticsearch/cluster/coordination/PublicationTransportHandler.java b/server/src/main/java/org/elasticsearch/cluster/coordination/PublicationTransportHandler.java index 5c5c5eee17da3..d8bf85fc02b37 100644 --- a/server/src/main/java/org/elasticsearch/cluster/coordination/PublicationTransportHandler.java +++ b/server/src/main/java/org/elasticsearch/cluster/coordination/PublicationTransportHandler.java @@ -456,7 +456,11 @@ private void sendClusterStateDiff(DiscoveryNode destination, ActionListener= 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()); } @@ -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() + "]" ); } @@ -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() + "]"); } } diff --git a/server/src/main/java/org/elasticsearch/search/dfs/DfsSearchResult.java b/server/src/main/java/org/elasticsearch/search/dfs/DfsSearchResult.java index b9cbd5baa1ebc..b76912e8b742a 100644 --- a/server/src/main/java/org/elasticsearch/search/dfs/DfsSearchResult.java +++ b/server/src/main/java/org/elasticsearch/search/dfs/DfsSearchResult.java @@ -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)); diff --git a/server/src/main/java/org/elasticsearch/search/query/QuerySearchResult.java b/server/src/main/java/org/elasticsearch/search/query/QuerySearchResult.java index 816b956251dfe..90b4885e65c01 100644 --- a/server/src/main/java/org/elasticsearch/search/query/QuerySearchResult.java +++ b/server/src/main/java/org/elasticsearch/search/query/QuerySearchResult.java @@ -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() + "]"); } } diff --git a/server/src/main/java/org/elasticsearch/transport/InboundDecoder.java b/server/src/main/java/org/elasticsearch/transport/InboundDecoder.java index 056af07b13912..2c498597779f5 100644 --- a/server/src/main/java/org/elasticsearch/transport/InboundDecoder.java +++ b/server/src/main/java/org/elasticsearch/transport/InboundDecoder.java @@ -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() + "]" ); } diff --git a/server/src/test/java/org/elasticsearch/common/io/stream/VersionCheckingStreamOutputTests.java b/server/src/test/java/org/elasticsearch/common/io/stream/VersionCheckingStreamOutputTests.java index bee63e72a3a0a..7be3a8e716ac5 100644 --- a/server/src/test/java/org/elasticsearch/common/io/stream/VersionCheckingStreamOutputTests.java +++ b/server/src/test/java/org/elasticsearch/common/io/stream/VersionCheckingStreamOutputTests.java @@ -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() ); } diff --git a/server/src/test/java/org/elasticsearch/transport/InboundDecoderTests.java b/server/src/test/java/org/elasticsearch/transport/InboundDecoderTests.java index ffcd3a3386f1a..8eba0277e4901 100644 --- a/server/src/test/java/org/elasticsearch/transport/InboundDecoderTests.java +++ b/server/src/test/java/org/elasticsearch/transport/InboundDecoderTests.java @@ -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() ); diff --git a/test/framework/src/main/java/org/elasticsearch/search/FailBeforeCurrentVersionQueryBuilder.java b/test/framework/src/main/java/org/elasticsearch/search/FailBeforeCurrentVersionQueryBuilder.java index 6c08ff43033e6..f1cb62ff41ebd 100644 --- a/test/framework/src/main/java/org/elasticsearch/search/FailBeforeCurrentVersionQueryBuilder.java +++ b/test/framework/src/main/java/org/elasticsearch/search/FailBeforeCurrentVersionQueryBuilder.java @@ -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); @@ -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; } } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/common/validation/SourceDestValidator.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/common/validation/SourceDestValidator.java index 9962f14ec3736..700158712707a 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/common/validation/SourceDestValidator.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/common/validation/SourceDestValidator.java @@ -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; @@ -491,12 +490,12 @@ public void validate(Context context, ActionListener 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(", ")) ); } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponse.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponse.java index 2cd37df4ef15e..9f62513e1b69f 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponse.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponse.java @@ -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() + "]" ); } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/Authentication.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/Authentication.java index 6a06be1b63b77..6ef2441011e6a 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/Authentication.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/Authentication.java @@ -226,9 +226,9 @@ public Authentication maybeRewriteForOlderVersion(TransportVersion olderVersion) if (isCrossClusterAccess() && olderVersion.before(TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY)) { throw new IllegalArgumentException( "versions of Elasticsearch before [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] can't handle cross cluster access authentication and attempted to rewrite for [" - + olderVersion + + olderVersion.toReleaseVersion() + "]" ); } @@ -576,9 +576,9 @@ private static void doWriteTo(Subject effectiveSubject, Subject authenticatingSu if (isCrossClusterAccess && out.getTransportVersion().before(TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY)) { throw new IllegalArgumentException( "versions of Elasticsearch before [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] can't handle cross cluster access authentication and attempted to send to [" - + out.getTransportVersion() + + out.getTransportVersion().toReleaseVersion() + "]" ); } @@ -1368,9 +1368,9 @@ static Map maybeRewriteMetadataForCrossClusterAccessAuthenticati () -> "Cross cluster access authentication has authentication field in metadata [" + authenticationFromMetadata + "] that may require a rewrite from version [" - + effectiveSubjectVersion + + effectiveSubjectVersion.toReleaseVersion() + "] to [" - + olderVersion + + olderVersion.toReleaseVersion() + "]" ); final Map rewrittenMetadata = new HashMap<>(metadata); diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/common/validation/RemoteClusterMinimumVersionValidationTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/common/validation/RemoteClusterMinimumVersionValidationTests.java index 57166d996d124..299279ee13f1b 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/common/validation/RemoteClusterMinimumVersionValidationTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/common/validation/RemoteClusterMinimumVersionValidationTests.java @@ -82,8 +82,8 @@ public void testValidate_OneRemoteClusterVersionTooLow() { ctx -> assertThat( ctx.getValidationException().validationErrors(), contains( - "remote clusters are expected to run at least transport version [7110099] (reason: [some reason]), " - + "but the following clusters were too old: [cluster-A (7100099)]" + "remote clusters are expected to run at least version [7.11.0] (reason: [some reason]), " + + "but the following clusters were too old: [cluster-A (7.10.0)]" ) ) ) @@ -100,8 +100,8 @@ public void testValidate_TwoRemoteClusterVersionsTooLow() { ctx -> assertThat( ctx.getValidationException().validationErrors(), contains( - "remote clusters are expected to run at least transport version [7120099] (reason: [some reason]), " - + "but the following clusters were too old: [cluster-A (7100099), cluster-B (7110099)]" + "remote clusters are expected to run at least version [7.12.0] (reason: [some reason]), " + + "but the following clusters were too old: [cluster-A (7.10.0), cluster-B (7.11.0)]" ) ) ) diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponseTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponseTests.java index 9556d09186311..1cf61fac174a5 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponseTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponseTests.java @@ -100,9 +100,9 @@ public void testSerializationWithRemoteIndicesThrowsOnUnsupportedVersions() thro ex.getMessage(), containsString( "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 [" - + version + + version.toReleaseVersion() + "]" ) ); diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/termsenum/TransportTermsEnumActionTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/termsenum/TransportTermsEnumActionTests.java index cb06dffead14f..975d08eb45277 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/termsenum/TransportTermsEnumActionTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/termsenum/TransportTermsEnumActionTests.java @@ -84,7 +84,9 @@ public TransportVersion getMinimalSupportedVersion() { assertThat( ex.getCause().getCause().getMessage(), containsString( - "was released first in version " + version + ", failed compatibility check trying to send it to node with version" + "was released first in version " + + version.toReleaseVersion() + + ", failed compatibility check trying to send it to node with version" ) ); } diff --git a/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/action/TransportStartDatafeedAction.java b/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/action/TransportStartDatafeedAction.java index 2067bae048561..ab0ada00b8aaf 100644 --- a/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/action/TransportStartDatafeedAction.java +++ b/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/action/TransportStartDatafeedAction.java @@ -318,7 +318,7 @@ static void checkRemoteConfigVersions( throw ExceptionsHelper.badRequestException( Messages.getMessage( REMOTE_CLUSTERS_TRANSPORT_TOO_OLD, - minVersion.toString(), + minVersion.toReleaseVersion(), reason, Strings.collectionToCommaDelimitedString(clustersTooOld) ) diff --git a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/action/TransportStartDatafeedActionTests.java b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/action/TransportStartDatafeedActionTests.java index a2d5003118536..8fd1082e0df5c 100644 --- a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/action/TransportStartDatafeedActionTests.java +++ b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/action/TransportStartDatafeedActionTests.java @@ -138,7 +138,7 @@ public void testRemoteClusterVersionCheck() { assertThat( ex.getMessage(), containsString( - "remote clusters are expected to run at least transport version [7110099] (reason: [runtime_mappings]), " + "remote clusters are expected to run at least version [7.11.0] (reason: [runtime_mappings]), " + "but the following clusters were too old: [old_cluster_1]" ) ); diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/ApiKeyService.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/ApiKeyService.java index e4436d4fabe71..1a5b1ab39cd83 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/ApiKeyService.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/ApiKeyService.java @@ -322,8 +322,8 @@ && hasRemoteIndices(request.getRoleDescriptors())) { // Creating API keys with roles which define remote indices privileges is not allowed in a mixed cluster. listener.onFailure( new IllegalArgumentException( - "all nodes must have transport version [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + "all nodes must have version [" + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] or higher to support remote indices privileges for API keys" ) ); @@ -333,8 +333,8 @@ && hasRemoteIndices(request.getRoleDescriptors())) { && request.getType() == ApiKey.Type.CROSS_CLUSTER) { listener.onFailure( new IllegalArgumentException( - "all nodes must have transport version [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + "all nodes must have version [" + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] or higher to support creating cross cluster API keys" ) ); @@ -381,8 +381,8 @@ private static IllegalArgumentException validateWorkflowsRestrictionConstraints( // creating/updating API keys with restrictions is not allowed in a mixed cluster. if (transportVersion.before(WORKFLOWS_RESTRICTION_VERSION)) { return new IllegalArgumentException( - "all nodes must have transport version [" - + WORKFLOWS_RESTRICTION_VERSION + "all nodes must have version [" + + WORKFLOWS_RESTRICTION_VERSION.toReleaseVersion() + "] or higher to support restrictions for API keys" ); } @@ -492,8 +492,8 @@ public void updateApiKeys( // Updating API keys with roles which define remote indices privileges is not allowed in a mixed cluster. listener.onFailure( new IllegalArgumentException( - "all nodes must have transport version [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + "all nodes must have version [" + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] or higher to support remote indices privileges for API keys" ) ); diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/CrossClusterAccessAuthenticationService.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/CrossClusterAccessAuthenticationService.java index efbe4258c60f3..16f67c9077311 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/CrossClusterAccessAuthenticationService.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/CrossClusterAccessAuthenticationService.java @@ -79,8 +79,8 @@ public void authenticate(final String action, final TransportRequest request, fi withRequestProcessingFailure( authcContext, new IllegalArgumentException( - "all nodes must have transport version [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + "all nodes must have version [" + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] or higher to support cross cluster requests through the dedicated remote cluster port" ), listener diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/store/NativeRolesStore.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/store/NativeRolesStore.java index a9d8859c798fa..41269ea049d66 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/store/NativeRolesStore.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/store/NativeRolesStore.java @@ -259,8 +259,8 @@ public void putRole(final PutRoleRequest request, final RoleDescriptor role, fin && clusterService.state().getMinTransportVersion().before(TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY)) { listener.onFailure( new IllegalStateException( - "all nodes must have transport version [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + "all nodes must have version [" + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] or higher to support remote indices privileges" ) ); diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/transport/SecurityServerTransportInterceptor.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/transport/SecurityServerTransportInterceptor.java index 462b41a519460..1a68887646731 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/transport/SecurityServerTransportInterceptor.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/transport/SecurityServerTransportInterceptor.java @@ -318,7 +318,7 @@ private void sendWithCrossClusterAccessHeaders( "Settings for remote cluster [" + remoteClusterAlias + "] indicate cross cluster access headers should be sent but target cluster version [" - + connection.getTransportVersion() + + connection.getTransportVersion().toReleaseVersion() + "] does not support receiving them" ); } diff --git a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ApiKeyServiceTests.java b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ApiKeyServiceTests.java index 269031804f7e3..0cb7a270099ad 100644 --- a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ApiKeyServiceTests.java +++ b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ApiKeyServiceTests.java @@ -2710,8 +2710,8 @@ public void testCreateCrossClusterApiKeyMinVersionConstraint() { assertThat( e.getMessage(), containsString( - "all nodes must have transport version [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + "all nodes must have version [" + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] or higher to support creating cross cluster API keys" ) ); @@ -2856,8 +2856,8 @@ public void testCreateOrUpdateApiKeyWithWorkflowsRestrictionForUnsupportedVersio assertThat( e1.getMessage(), containsString( - "all nodes must have transport version [" - + WORKFLOWS_RESTRICTION_VERSION + "all nodes must have version [" + + WORKFLOWS_RESTRICTION_VERSION.toReleaseVersion() + "] or higher to support restrictions for API keys" ) ); @@ -2874,8 +2874,8 @@ public void testCreateOrUpdateApiKeyWithWorkflowsRestrictionForUnsupportedVersio assertThat( e2.getMessage(), containsString( - "all nodes must have transport version [" - + WORKFLOWS_RESTRICTION_VERSION + "all nodes must have version [" + + WORKFLOWS_RESTRICTION_VERSION.toReleaseVersion() + "] or higher to support restrictions for API keys" ) ); diff --git a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/CrossClusterAccessAuthenticationServiceTests.java b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/CrossClusterAccessAuthenticationServiceTests.java index 6e03aff9a842e..3bb776e0f726c 100644 --- a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/CrossClusterAccessAuthenticationServiceTests.java +++ b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/CrossClusterAccessAuthenticationServiceTests.java @@ -108,8 +108,8 @@ public void testAuthenticateThrowsOnUnsupportedMinVersions() throws IOException assertThat( actual.getCause().getCause().getMessage(), equalTo( - "all nodes must have transport version [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + "all nodes must have version [" + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] or higher to support cross cluster requests through the dedicated remote cluster port" ) ); diff --git a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authz/store/NativeRolesStoreTests.java b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authz/store/NativeRolesStoreTests.java index 49d5a67b7d20e..ad1ab132bb321 100644 --- a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authz/store/NativeRolesStoreTests.java +++ b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authz/store/NativeRolesStoreTests.java @@ -435,8 +435,8 @@ void innerPutRole(final PutRoleRequest request, final RoleDescriptor role, final assertThat( e.getMessage(), containsString( - "all nodes must have transport version [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + "all nodes must have version [" + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] or higher to support remote indices privileges" ) ); diff --git a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/transport/SecurityServerTransportInterceptorTests.java b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/transport/SecurityServerTransportInterceptorTests.java index 6d5ba44ccabf7..2d8307eae8ba6 100644 --- a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/transport/SecurityServerTransportInterceptorTests.java +++ b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/transport/SecurityServerTransportInterceptorTests.java @@ -1005,7 +1005,7 @@ public TransportResponse read(StreamInput in) { "Settings for remote cluster [" + remoteClusterAlias + "] indicate cross cluster access headers should be sent but target cluster version [" - + connection.getTransportVersion() + + connection.getTransportVersion().toReleaseVersion() + "] does not support receiving them" ) ); diff --git a/x-pack/plugin/snapshot-repo-test-kit/src/main/java/org/elasticsearch/repositories/blobstore/testkit/BlobAnalyzeAction.java b/x-pack/plugin/snapshot-repo-test-kit/src/main/java/org/elasticsearch/repositories/blobstore/testkit/BlobAnalyzeAction.java index d9c85eb37aaa0..aa0cf3e3cfc1b 100644 --- a/x-pack/plugin/snapshot-repo-test-kit/src/main/java/org/elasticsearch/repositories/blobstore/testkit/BlobAnalyzeAction.java +++ b/x-pack/plugin/snapshot-repo-test-kit/src/main/java/org/elasticsearch/repositories/blobstore/testkit/BlobAnalyzeAction.java @@ -716,7 +716,9 @@ public void writeTo(StreamOutput out) throws IOException { if (out.getTransportVersion().onOrAfter(TransportVersions.V_7_14_0)) { out.writeBoolean(abortWrite); } else if (abortWrite) { - throw new IllegalStateException("cannot send abortWrite request on transport version [" + out.getTransportVersion() + "]"); + throw new IllegalStateException( + "cannot send abortWrite request on transport version [" + out.getTransportVersion().toReleaseVersion() + "]" + ); } } diff --git a/x-pack/plugin/snapshot-repo-test-kit/src/main/java/org/elasticsearch/repositories/blobstore/testkit/RepositoryAnalyzeAction.java b/x-pack/plugin/snapshot-repo-test-kit/src/main/java/org/elasticsearch/repositories/blobstore/testkit/RepositoryAnalyzeAction.java index 51fe98b86b536..7b82b69a682fa 100644 --- a/x-pack/plugin/snapshot-repo-test-kit/src/main/java/org/elasticsearch/repositories/blobstore/testkit/RepositoryAnalyzeAction.java +++ b/x-pack/plugin/snapshot-repo-test-kit/src/main/java/org/elasticsearch/repositories/blobstore/testkit/RepositoryAnalyzeAction.java @@ -949,8 +949,8 @@ public void writeTo(StreamOutput out) throws IOException { out.writeVInt(registerOperationCount); } else if (registerOperationCount != concurrency) { throw new IllegalArgumentException( - "cannot send request with registerOperationCount != concurrency on transport version [" - + out.getTransportVersion() + "cannot send request with registerOperationCount != concurrency to version [" + + out.getTransportVersion().toReleaseVersion() + "]" ); } @@ -965,7 +965,7 @@ public void writeTo(StreamOutput out) throws IOException { out.writeBoolean(abortWritePermitted); } else if (abortWritePermitted) { throw new IllegalArgumentException( - "cannot send abortWritePermitted request on transport version [" + out.getTransportVersion() + "]" + "cannot send abortWritePermitted request to version [" + out.getTransportVersion().toReleaseVersion() + "]" ); } } diff --git a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/ApiKeyBackwardsCompatibilityIT.java b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/ApiKeyBackwardsCompatibilityIT.java index 2bce06543f67c..fb0b8115ae17b 100644 --- a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/ApiKeyBackwardsCompatibilityIT.java +++ b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/ApiKeyBackwardsCompatibilityIT.java @@ -167,8 +167,8 @@ public void testCreatingAndUpdatingApiKeys() throws Exception { assertThat( e.getMessage(), containsString( - "all nodes must have transport version [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + "all nodes must have version [" + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] or higher to support remote indices privileges for API keys" ) ); @@ -179,8 +179,8 @@ public void testCreatingAndUpdatingApiKeys() throws Exception { assertThat( e.getMessage(), containsString( - "all nodes must have transport version [" - + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY + "all nodes must have version [" + + TRANSPORT_VERSION_ADVANCED_REMOTE_CLUSTER_SECURITY.toReleaseVersion() + "] or higher to support remote indices privileges for API keys" ) );