Skip to content

Commit 792636c

Browse files
authored
Remove transport version V_8_17_0 (#136311)
ES-12334
1 parent d117362 commit 792636c

File tree

14 files changed

+22
-204
lines changed

14 files changed

+22
-204
lines changed

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,6 @@ static TransportVersion def(int id) {
8383
public static final TransportVersion V_8_15_2 = def(8_702_0_03);
8484
public static final TransportVersion V_8_16_0 = def(8_772_0_01);
8585
public static final TransportVersion V_8_16_1 = def(8_772_0_04);
86-
public static final TransportVersion INITIAL_ELASTICSEARCH_8_16_5 = def(8_772_0_05);
87-
public static final TransportVersion INITIAL_ELASTICSEARCH_8_16_6 = def(8_772_0_06);
88-
public static final TransportVersion V_8_17_0 = def(8_797_0_02);
89-
public static final TransportVersion INITIAL_ELASTICSEARCH_8_17_3 = def(8_797_0_03);
90-
public static final TransportVersion INITIAL_ELASTICSEARCH_8_17_4 = def(8_797_0_04);
9186
// TODO: leave this version until the very end to satisfy max transport version test
9287
public static final TransportVersion INITIAL_ELASTICSEARCH_8_17_5 = def(8_797_0_05);
9388

server/src/main/java/org/elasticsearch/action/bulk/SimulateBulkRequest.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,7 @@ public SimulateBulkRequest(StreamInput in) throws IOException {
151151
componentTemplateSubstitutions = Map.of();
152152
indexTemplateSubstitutions = Map.of();
153153
}
154-
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
155-
this.mappingAddition = (Map<String, Object>) in.readGenericValue();
156-
} else {
157-
mappingAddition = Map.of();
158-
}
154+
this.mappingAddition = (Map<String, Object>) in.readGenericValue();
159155
if (in.getTransportVersion().supports(SIMULATE_INGEST_MAPPING_MERGE_TYPE)) {
160156
mappingMergeType = in.readOptionalString();
161157
} else {
@@ -171,9 +167,7 @@ public void writeTo(StreamOutput out) throws IOException {
171167
out.writeGenericValue(componentTemplateSubstitutions);
172168
out.writeGenericValue(indexTemplateSubstitutions);
173169
}
174-
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
175-
out.writeGenericValue(mappingAddition);
176-
}
170+
out.writeGenericValue(mappingAddition);
177171
if (out.getTransportVersion().supports(SIMULATE_INGEST_MAPPING_MERGE_TYPE)) {
178172
out.writeOptionalString(mappingMergeType);
179173
}

server/src/main/java/org/elasticsearch/action/index/IndexRequest.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -217,16 +217,6 @@ public IndexRequest(@Nullable ShardId shardId, StreamInput in) throws IOExceptio
217217
requireDataStream = false;
218218
}
219219

220-
if (in.getTransportVersion().before(TransportVersions.V_8_17_0)) {
221-
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_13_0)) {
222-
in.readZLong(); // obsolete normalisedBytesParsed
223-
}
224-
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_16_0)) {
225-
in.readBoolean(); // obsolete originatesFromUpdateByScript
226-
in.readBoolean(); // obsolete originatesFromUpdateByDoc
227-
}
228-
}
229-
230220
includeSourceOnError = in.readBoolean();
231221

232222
if (in.getTransportVersion().supports(INDEX_REQUEST_INCLUDE_TSID)) {
@@ -806,15 +796,6 @@ private void writeBody(StreamOutput out) throws IOException {
806796
out.writeBoolean(requireDataStream);
807797
}
808798

809-
if (out.getTransportVersion().before(TransportVersions.V_8_17_0)) {
810-
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_13_0)) {
811-
out.writeZLong(-1); // obsolete normalisedBytesParsed
812-
}
813-
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_16_0)) {
814-
out.writeBoolean(false); // obsolete originatesFromUpdateByScript
815-
out.writeBoolean(false); // obsolete originatesFromUpdateByDoc
816-
}
817-
}
818799
out.writeBoolean(includeSourceOnError);
819800
if (out.getTransportVersion().supports(INDEX_REQUEST_INCLUDE_TSID)) {
820801
out.writeBytesRef(tsid);

server/src/main/java/org/elasticsearch/index/IndexMode.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
package org.elasticsearch.index;
1111

12-
import org.elasticsearch.TransportVersions;
1312
import org.elasticsearch.cluster.metadata.IndexMetadata;
1413
import org.elasticsearch.cluster.metadata.MetadataCreateDataStreamService;
1514
import org.elasticsearch.cluster.metadata.ProjectMetadata;
@@ -606,7 +605,7 @@ public static void writeTo(IndexMode indexMode, StreamOutput out) throws IOExcep
606605
case STANDARD -> 0;
607606
case TIME_SERIES -> 1;
608607
case LOGSDB -> 2;
609-
case LOOKUP -> out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0) ? 3 : 0;
608+
case LOOKUP -> 3;
610609
};
611610
out.writeByte((byte) code);
612611
}

server/src/main/java/org/elasticsearch/ingest/PipelineConfiguration.java

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
package org.elasticsearch.ingest;
1111

1212
import org.elasticsearch.TransportVersion;
13-
import org.elasticsearch.TransportVersions;
1413
import org.elasticsearch.cluster.Diff;
1514
import org.elasticsearch.cluster.SimpleDiffable;
1615
import org.elasticsearch.common.Strings;
@@ -25,7 +24,6 @@
2524
import org.elasticsearch.xcontent.ToXContentObject;
2625
import org.elasticsearch.xcontent.XContentBuilder;
2726
import org.elasticsearch.xcontent.XContentType;
28-
import org.elasticsearch.xcontent.json.JsonXContent;
2927

3028
import java.io.IOException;
3129
import java.util.ArrayList;
@@ -172,13 +170,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
172170
public static PipelineConfiguration readFrom(StreamInput in) throws IOException {
173171
final String id = in.readString();
174172
final Map<String, Object> config;
175-
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
176-
config = in.readGenericMap();
177-
} else {
178-
final BytesReference bytes = in.readSlicedBytesReference();
179-
final XContentType type = in.readEnum(XContentType.class);
180-
config = XContentHelper.convertToMap(bytes, true, type).v2();
181-
}
173+
config = in.readGenericMap();
182174
return new PipelineConfiguration(id, config);
183175
}
184176

@@ -196,14 +188,7 @@ public void writeTo(StreamOutput out) throws IOException {
196188
final TransportVersion transportVersion = out.getTransportVersion();
197189
final Map<String, Object> configForTransport = configForTransport(transportVersion);
198190
out.writeString(id);
199-
if (transportVersion.onOrAfter(TransportVersions.V_8_17_0)) {
200-
out.writeGenericMap(configForTransport);
201-
} else {
202-
XContentBuilder builder = XContentBuilder.builder(JsonXContent.jsonXContent).prettyPrint();
203-
builder.map(configForTransport);
204-
out.writeBytesReference(BytesReference.bytes(builder));
205-
XContentHelper.writeTo(out, XContentType.JSON);
206-
}
191+
out.writeGenericMap(configForTransport);
207192
}
208193

209194
@Override

server/src/main/java/org/elasticsearch/monitor/os/OsStats.java

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -488,11 +488,7 @@ public Cgroup(
488488

489489
Cgroup(final StreamInput in) throws IOException {
490490
cpuAcctControlGroup = in.readString();
491-
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
492-
cpuAcctUsageNanos = in.readBigInteger();
493-
} else {
494-
cpuAcctUsageNanos = BigInteger.valueOf(in.readLong());
495-
}
491+
cpuAcctUsageNanos = in.readBigInteger();
496492
cpuControlGroup = in.readString();
497493
cpuCfsPeriodMicros = in.readLong();
498494
cpuCfsQuotaMicros = in.readLong();
@@ -505,11 +501,7 @@ public Cgroup(
505501
@Override
506502
public void writeTo(final StreamOutput out) throws IOException {
507503
out.writeString(cpuAcctControlGroup);
508-
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
509-
out.writeBigInteger(cpuAcctUsageNanos);
510-
} else {
511-
out.writeLong(cpuAcctUsageNanos.longValue());
512-
}
504+
out.writeBigInteger(cpuAcctUsageNanos);
513505
out.writeString(cpuControlGroup);
514506
out.writeLong(cpuCfsPeriodMicros);
515507
out.writeLong(cpuCfsQuotaMicros);
@@ -605,28 +597,16 @@ public CpuStat(
605597
}
606598

607599
CpuStat(final StreamInput in) throws IOException {
608-
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
609-
numberOfElapsedPeriods = in.readBigInteger();
610-
numberOfTimesThrottled = in.readBigInteger();
611-
timeThrottledNanos = in.readBigInteger();
612-
} else {
613-
numberOfElapsedPeriods = BigInteger.valueOf(in.readLong());
614-
numberOfTimesThrottled = BigInteger.valueOf(in.readLong());
615-
timeThrottledNanos = BigInteger.valueOf(in.readLong());
616-
}
600+
numberOfElapsedPeriods = in.readBigInteger();
601+
numberOfTimesThrottled = in.readBigInteger();
602+
timeThrottledNanos = in.readBigInteger();
617603
}
618604

619605
@Override
620606
public void writeTo(final StreamOutput out) throws IOException {
621-
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
622-
out.writeBigInteger(numberOfElapsedPeriods);
623-
out.writeBigInteger(numberOfTimesThrottled);
624-
out.writeBigInteger(timeThrottledNanos);
625-
} else {
626-
out.writeLong(numberOfElapsedPeriods.longValue());
627-
out.writeLong(numberOfTimesThrottled.longValue());
628-
out.writeLong(timeThrottledNanos.longValue());
629-
}
607+
out.writeBigInteger(numberOfElapsedPeriods);
608+
out.writeBigInteger(numberOfTimesThrottled);
609+
out.writeBigInteger(timeThrottledNanos);
630610
}
631611

632612
@Override

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/application/LogsDBFeatureSetUsage.java

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
package org.elasticsearch.xpack.core.application;
88

99
import org.elasticsearch.TransportVersion;
10-
import org.elasticsearch.TransportVersions;
1110
import org.elasticsearch.common.io.stream.StreamInput;
1211
import org.elasticsearch.common.io.stream.StreamOutput;
1312
import org.elasticsearch.xcontent.XContentBuilder;
@@ -28,13 +27,8 @@ public LogsDBFeatureSetUsage(StreamInput input) throws IOException {
2827
super(input);
2928
indicesCount = input.readVInt();
3029
indicesWithSyntheticSource = input.readVInt();
31-
if (input.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
32-
numDocs = input.readVLong();
33-
sizeInBytes = input.readVLong();
34-
} else {
35-
numDocs = 0;
36-
sizeInBytes = 0;
37-
}
30+
numDocs = input.readVLong();
31+
sizeInBytes = input.readVLong();
3832
hasCustomCutoffDate = input.readBoolean();
3933
}
4034

@@ -43,10 +37,8 @@ public void writeTo(StreamOutput out) throws IOException {
4337
super.writeTo(out);
4438
out.writeVInt(indicesCount);
4539
out.writeVInt(indicesWithSyntheticSource);
46-
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_17_0)) {
47-
out.writeVLong(numDocs);
48-
out.writeVLong(sizeInBytes);
49-
}
40+
out.writeVLong(numDocs);
41+
out.writeVLong(sizeInBytes);
5042
out.writeBoolean(hasCustomCutoffDate);
5143
}
5244

@@ -69,7 +61,7 @@ public LogsDBFeatureSetUsage(
6961

7062
@Override
7163
public TransportVersion getMinimalSupportedVersion() {
72-
return TransportVersions.V_8_17_0;
64+
return TransportVersion.minimumCompatible();
7365
}
7466

7567
@Override

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/permission/RemoteClusterPermissions.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@
6969
public class RemoteClusterPermissions implements NamedWriteable, ToXContentObject {
7070

7171
public static final TransportVersion ROLE_REMOTE_CLUSTER_PRIVS = TransportVersions.V_8_15_0;
72-
public static final TransportVersion ROLE_MONITOR_STATS = TransportVersions.V_8_17_0;
7372

7473
public static final String NAME = "remote_cluster_permissions";
7574
private static final Logger logger = LogManager.getLogger(RemoteClusterPermissions.class);
@@ -79,7 +78,7 @@ public class RemoteClusterPermissions implements NamedWriteable, ToXContentObjec
7978
static Map<TransportVersion, Set<String>> allowedRemoteClusterPermissions = Map.of(
8079
ROLE_REMOTE_CLUSTER_PRIVS,
8180
Set.of(ClusterPrivilegeResolver.MONITOR_ENRICH.name()),
82-
ROLE_MONITOR_STATS,
81+
TransportVersion.minimumCompatible(),
8382
Set.of(ClusterPrivilegeResolver.MONITOR_STATS.name())
8483
);
8584
static final TransportVersion lastTransportVersionPermission = allowedRemoteClusterPermissions.keySet()

x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/inference/action/InferenceActionRequestTests.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -796,17 +796,6 @@ public void testWriteTo_ForHasBeenReroutedChanges() throws IOException {
796796
false
797797
);
798798

799-
{
800-
// From a version before the rerouting logic was added
801-
InferenceAction.Request deserializedInstance = copyWriteable(
802-
instance,
803-
getNamedWriteableRegistry(),
804-
instanceReader(),
805-
TransportVersions.V_8_17_0
806-
);
807-
808-
assertEquals(instance, deserializedInstance);
809-
}
810799
{
811800
// From a version with rerouting
812801
InferenceAction.Request deserializedInstance = copyWriteable(

x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authc/AuthenticationTests.java

Lines changed: 0 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.elasticsearch.test.ESTestCase;
2121
import org.elasticsearch.test.TransportVersionUtils;
2222
import org.elasticsearch.transport.RemoteClusterPortSettings;
23-
import org.elasticsearch.xcontent.ObjectPath;
2423
import org.elasticsearch.xcontent.ToXContent;
2524
import org.elasticsearch.xcontent.XContentBuilder;
2625
import org.elasticsearch.xcontent.XContentType;
@@ -31,7 +30,6 @@
3130
import org.elasticsearch.xpack.core.security.authz.RoleDescriptorsIntersection;
3231
import org.elasticsearch.xpack.core.security.user.AnonymousUser;
3332
import org.elasticsearch.xpack.core.security.user.User;
34-
import org.hamcrest.Matchers;
3533

3634
import java.io.IOException;
3735
import java.util.Arrays;
@@ -46,7 +44,6 @@
4644
import static org.elasticsearch.xpack.core.security.authc.AuthenticationTestHelper.randomCloudApiKeyAuthentication;
4745
import static org.elasticsearch.xpack.core.security.authc.AuthenticationTestHelper.randomCrossClusterAccessSubjectInfo;
4846
import static org.elasticsearch.xpack.core.security.authc.CrossClusterAccessSubjectInfoTests.randomRoleDescriptorsIntersection;
49-
import static org.elasticsearch.xpack.core.security.authz.permission.RemoteClusterPermissions.ROLE_MONITOR_STATS;
5047
import static org.elasticsearch.xpack.core.security.authz.permission.RemoteClusterPermissions.ROLE_REMOTE_CLUSTER_PRIVS;
5148
import static org.hamcrest.Matchers.anEmptyMap;
5249
import static org.hamcrest.Matchers.equalTo;
@@ -1027,84 +1024,6 @@ public void testMaybeRewriteMetadataForApiKeyRoleDescriptorsWithRemoteCluster()
10271024
);
10281025
}
10291026

1030-
public void testMaybeRewriteMetadataForApiKeyRoleDescriptorsWithRemoteClusterRemovePrivs() throws IOException {
1031-
final String apiKeyId = randomAlphaOfLengthBetween(1, 10);
1032-
final String apiKeyName = randomAlphaOfLengthBetween(1, 10);
1033-
Map<String, Object> metadata = Map.ofEntries(
1034-
entry(AuthenticationField.API_KEY_ID_KEY, apiKeyId),
1035-
entry(AuthenticationField.API_KEY_NAME_KEY, apiKeyName),
1036-
entry(AuthenticationField.API_KEY_ROLE_DESCRIPTORS_KEY, new BytesArray("""
1037-
{"base_role":{"cluster":["all"],
1038-
"remote_cluster":[{"privileges":["monitor_enrich", "monitor_stats"],"clusters":["*"]}]
1039-
}}""")),
1040-
entry(AuthenticationField.API_KEY_LIMITED_ROLE_DESCRIPTORS_KEY, new BytesArray("""
1041-
{"limited_by_role":{"cluster":["*"],
1042-
"remote_cluster":[{"privileges":["monitor_enrich", "monitor_stats"],"clusters":["*"]}]
1043-
}}"""))
1044-
);
1045-
1046-
final Authentication with2privs = AuthenticationTestHelper.builder()
1047-
.apiKey()
1048-
.metadata(metadata)
1049-
.transportVersion(TransportVersion.current())
1050-
.build();
1051-
1052-
// pick a version that will only remove one of the two privileges
1053-
final TransportVersion olderVersion = TransportVersionUtils.randomVersionBetween(
1054-
random(),
1055-
ROLE_REMOTE_CLUSTER_PRIVS,
1056-
TransportVersionUtils.getPreviousVersion(ROLE_MONITOR_STATS)
1057-
);
1058-
1059-
Map<String, Object> rewrittenMetadata = with2privs.maybeRewriteForOlderVersion(olderVersion).getEffectiveSubject().getMetadata();
1060-
assertThat(rewrittenMetadata.keySet(), equalTo(with2privs.getAuthenticatingSubject().getMetadata().keySet()));
1061-
1062-
// only one of the two privileges are left after the rewrite
1063-
BytesReference baseRoleBytes = (BytesReference) rewrittenMetadata.get(AuthenticationField.API_KEY_ROLE_DESCRIPTORS_KEY);
1064-
Map<String, Object> baseRoleAsMap = XContentHelper.convertToMap(baseRoleBytes, false, XContentType.JSON).v2();
1065-
assertThat(ObjectPath.eval("base_role.remote_cluster.0.privileges", baseRoleAsMap), Matchers.contains("monitor_enrich"));
1066-
assertThat(ObjectPath.eval("base_role.remote_cluster.0.clusters", baseRoleAsMap), notNullValue());
1067-
BytesReference limitedByRoleBytes = (BytesReference) rewrittenMetadata.get(
1068-
AuthenticationField.API_KEY_LIMITED_ROLE_DESCRIPTORS_KEY
1069-
);
1070-
Map<String, Object> limitedByRoleAsMap = XContentHelper.convertToMap(limitedByRoleBytes, false, XContentType.JSON).v2();
1071-
assertThat(ObjectPath.eval("limited_by_role.remote_cluster.0.privileges", limitedByRoleAsMap), Matchers.contains("monitor_enrich"));
1072-
assertThat(ObjectPath.eval("limited_by_role.remote_cluster.0.clusters", limitedByRoleAsMap), notNullValue());
1073-
1074-
// same version, but it removes the only defined privilege
1075-
metadata = Map.ofEntries(
1076-
entry(AuthenticationField.API_KEY_ID_KEY, apiKeyId),
1077-
entry(AuthenticationField.API_KEY_NAME_KEY, apiKeyName),
1078-
entry(AuthenticationField.API_KEY_ROLE_DESCRIPTORS_KEY, new BytesArray("""
1079-
{"base_role":{"cluster":["all"],
1080-
"remote_cluster":[{"privileges":["monitor_stats"],"clusters":["*"]}]
1081-
}}""")),
1082-
entry(AuthenticationField.API_KEY_LIMITED_ROLE_DESCRIPTORS_KEY, new BytesArray("""
1083-
{"limited_by_role":{"cluster":["*"],
1084-
"remote_cluster":[{"privileges":["monitor_stats"],"clusters":["*"]}]
1085-
}}"""))
1086-
);
1087-
1088-
final Authentication with1priv = AuthenticationTestHelper.builder()
1089-
.apiKey()
1090-
.metadata(metadata)
1091-
.transportVersion(TransportVersion.current())
1092-
.build();
1093-
1094-
rewrittenMetadata = with1priv.maybeRewriteForOlderVersion(olderVersion).getEffectiveSubject().getMetadata();
1095-
assertThat(rewrittenMetadata.keySet(), equalTo(with1priv.getAuthenticatingSubject().getMetadata().keySet()));
1096-
1097-
// the one privileges is removed after the rewrite, which removes the full "remote_cluster" object
1098-
baseRoleBytes = (BytesReference) rewrittenMetadata.get(AuthenticationField.API_KEY_ROLE_DESCRIPTORS_KEY);
1099-
baseRoleAsMap = XContentHelper.convertToMap(baseRoleBytes, false, XContentType.JSON).v2();
1100-
assertThat(ObjectPath.eval("base_role.remote_cluster", baseRoleAsMap), nullValue());
1101-
assertThat(ObjectPath.eval("base_role.cluster", baseRoleAsMap), notNullValue());
1102-
limitedByRoleBytes = (BytesReference) rewrittenMetadata.get(AuthenticationField.API_KEY_LIMITED_ROLE_DESCRIPTORS_KEY);
1103-
limitedByRoleAsMap = XContentHelper.convertToMap(limitedByRoleBytes, false, XContentType.JSON).v2();
1104-
assertThat(ObjectPath.eval("limited_by_role.remote_cluster", limitedByRoleAsMap), nullValue());
1105-
assertThat(ObjectPath.eval("limited_by_role.cluster", limitedByRoleAsMap), notNullValue());
1106-
}
1107-
11081027
public void testMaybeRemoveRemoteIndicesFromRoleDescriptors() {
11091028
final boolean includeClusterPrivileges = randomBoolean();
11101029
final BytesReference roleWithoutRemoteIndices = new BytesArray(Strings.format("""

0 commit comments

Comments
 (0)