Skip to content

Commit c88cfb0

Browse files
committed
Revert "Adding full CompatibilityVersions to NodeInfo (#116582)"
This reverts commit 67231ab.
1 parent 7e5eb49 commit c88cfb0

File tree

14 files changed

+31
-81
lines changed

14 files changed

+31
-81
lines changed

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ static TransportVersion def(int id) {
175175
public static final TransportVersion ML_INFERENCE_ATTACH_TO_EXISTSING_DEPLOYMENT = def(8_771_00_0);
176176
public static final TransportVersion CONVERT_FAILURE_STORE_OPTIONS_TO_SELECTOR_OPTIONS_INTERNALLY = def(8_772_00_0);
177177
public static final TransportVersion INFERENCE_DONT_PERSIST_ON_READ_BACKPORT_8_16 = def(8_772_00_1);
178-
public static final TransportVersion ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO_BACKPORT_8_16 = def(8_772_00_2);
179178
public static final TransportVersion REMOVE_MIN_COMPATIBLE_SHARD_NODE = def(8_773_00_0);
180179
public static final TransportVersion REVERT_REMOVE_MIN_COMPATIBLE_SHARD_NODE = def(8_774_00_0);
181180
public static final TransportVersion ESQL_FIELD_ATTRIBUTE_PARENT_SIMPLIFIED = def(8_775_00_0);
@@ -191,7 +190,6 @@ static TransportVersion def(int id) {
191190
public static final TransportVersion LOGSDB_TELEMETRY_STATS = def(8_785_00_0);
192191
public static final TransportVersion KQL_QUERY_ADDED = def(8_786_00_0);
193192
public static final TransportVersion ROLE_MONITOR_STATS = def(8_787_00_0);
194-
public static final TransportVersion ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO = def(8_788_00_0);
195193

196194
/*
197195
* STOP! READ THIS FIRST! No, really,

server/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodeInfo.java

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,13 @@
1515
import org.elasticsearch.Version;
1616
import org.elasticsearch.action.support.nodes.BaseNodeResponse;
1717
import org.elasticsearch.cluster.node.DiscoveryNode;
18-
import org.elasticsearch.cluster.version.CompatibilityVersions;
1918
import org.elasticsearch.common.io.stream.StreamInput;
2019
import org.elasticsearch.common.io.stream.StreamOutput;
2120
import org.elasticsearch.common.settings.Settings;
2221
import org.elasticsearch.common.unit.ByteSizeValue;
2322
import org.elasticsearch.core.Nullable;
2423
import org.elasticsearch.http.HttpInfo;
2524
import org.elasticsearch.index.IndexVersion;
26-
import org.elasticsearch.indices.SystemIndexDescriptor;
2725
import org.elasticsearch.ingest.IngestInfo;
2826
import org.elasticsearch.monitor.jvm.JvmInfo;
2927
import org.elasticsearch.monitor.os.OsInfo;
@@ -44,7 +42,7 @@
4442
public class NodeInfo extends BaseNodeResponse {
4543

4644
private final String version;
47-
private final CompatibilityVersions compatibilityVersions;
45+
private final TransportVersion transportVersion;
4846
private final IndexVersion indexVersion;
4947
private final Map<String, Integer> componentVersions;
5048
private final Build build;
@@ -66,20 +64,15 @@ public NodeInfo(StreamInput in) throws IOException {
6664
super(in);
6765
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_12_0)) {
6866
version = in.readString();
69-
if (in.getTransportVersion().isPatchFrom(TransportVersions.ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO_BACKPORT_8_16)
70-
|| in.getTransportVersion().onOrAfter(TransportVersions.ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO)) {
71-
compatibilityVersions = CompatibilityVersions.readVersion(in);
72-
} else {
73-
compatibilityVersions = new CompatibilityVersions(TransportVersion.readVersion(in), Map.of()); // unknown mappings versions
74-
}
67+
transportVersion = TransportVersion.readVersion(in);
7568
indexVersion = IndexVersion.readVersion(in);
7669
} else {
7770
Version legacyVersion = Version.readVersion(in);
7871
version = legacyVersion.toString();
7972
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
80-
compatibilityVersions = new CompatibilityVersions(TransportVersion.readVersion(in), Map.of()); // unknown mappings versions
73+
transportVersion = TransportVersion.readVersion(in);
8174
} else {
82-
compatibilityVersions = new CompatibilityVersions(TransportVersion.fromId(legacyVersion.id), Map.of());
75+
transportVersion = TransportVersion.fromId(legacyVersion.id);
8376
}
8477
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_11_X)) {
8578
indexVersion = IndexVersion.readVersion(in);
@@ -121,7 +114,7 @@ public NodeInfo(StreamInput in) throws IOException {
121114

122115
public NodeInfo(
123116
String version,
124-
CompatibilityVersions compatibilityVersions,
117+
TransportVersion transportVersion,
125118
IndexVersion indexVersion,
126119
Map<String, Integer> componentVersions,
127120
Build build,
@@ -141,7 +134,7 @@ public NodeInfo(
141134
) {
142135
super(node);
143136
this.version = version;
144-
this.compatibilityVersions = compatibilityVersions;
137+
this.transportVersion = transportVersion;
145138
this.indexVersion = indexVersion;
146139
this.componentVersions = componentVersions;
147140
this.build = build;
@@ -178,7 +171,7 @@ public String getVersion() {
178171
* The most recent transport version that can be used by this node
179172
*/
180173
public TransportVersion getTransportVersion() {
181-
return compatibilityVersions.transportVersion();
174+
return transportVersion;
182175
}
183176

184177
/**
@@ -195,13 +188,6 @@ public Map<String, Integer> getComponentVersions() {
195188
return componentVersions;
196189
}
197190

198-
/**
199-
* A map of system index names to versions for their mappings supported by this node.
200-
*/
201-
public Map<String, SystemIndexDescriptor.MappingsVersion> getCompatibilityVersions() {
202-
return compatibilityVersions.systemIndexMappingsVersion();
203-
}
204-
205191
/**
206192
* The build version of the node.
207193
*/
@@ -254,11 +240,8 @@ public void writeTo(StreamOutput out) throws IOException {
254240
} else {
255241
Version.writeVersion(Version.fromString(version), out);
256242
}
257-
if (out.getTransportVersion().isPatchFrom(TransportVersions.ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO_BACKPORT_8_16)
258-
|| out.getTransportVersion().onOrAfter(TransportVersions.ADD_COMPATIBILITY_VERSIONS_TO_NODE_INFO)) {
259-
compatibilityVersions.writeTo(out);
260-
} else if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
261-
TransportVersion.writeVersion(compatibilityVersions.transportVersion(), out);
243+
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_8_0)) {
244+
TransportVersion.writeVersion(transportVersion, out);
262245
}
263246
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_11_X)) {
264247
IndexVersion.writeVersion(indexVersion, out);

server/src/main/java/org/elasticsearch/node/NodeConstruction.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,8 +1078,7 @@ private void construct(
10781078
searchTransportService,
10791079
indexingLimits,
10801080
searchModule.getValuesSourceRegistry().getUsageService(),
1081-
repositoriesService,
1082-
compatibilityVersions
1081+
repositoriesService
10831082
);
10841083

10851084
final TimeValue metricsInterval = settings.getAsTime("telemetry.agent.metrics_interval", TimeValue.timeValueSeconds(10));

server/src/main/java/org/elasticsearch/node/NodeService.java

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

1212
import org.elasticsearch.Build;
13+
import org.elasticsearch.TransportVersion;
1314
import org.elasticsearch.Version;
1415
import org.elasticsearch.action.admin.cluster.node.info.ComponentVersionNumber;
1516
import org.elasticsearch.action.admin.cluster.node.info.NodeInfo;
@@ -18,7 +19,6 @@
1819
import org.elasticsearch.action.search.SearchTransportService;
1920
import org.elasticsearch.cluster.coordination.Coordinator;
2021
import org.elasticsearch.cluster.service.ClusterService;
21-
import org.elasticsearch.cluster.version.CompatibilityVersions;
2222
import org.elasticsearch.common.settings.Settings;
2323
import org.elasticsearch.common.settings.SettingsFilter;
2424
import org.elasticsearch.common.unit.ByteSizeValue;
@@ -65,7 +65,6 @@ public class NodeService implements Closeable {
6565
private final Coordinator coordinator;
6666
private final RepositoriesService repositoriesService;
6767
private final Map<String, Integer> componentVersions;
68-
private final CompatibilityVersions compatibilityVersions;
6968

7069
NodeService(
7170
Settings settings,
@@ -85,8 +84,7 @@ public class NodeService implements Closeable {
8584
SearchTransportService searchTransportService,
8685
IndexingPressure indexingPressure,
8786
AggregationUsageService aggregationUsageService,
88-
RepositoriesService repositoriesService,
89-
CompatibilityVersions compatibilityVersions
87+
RepositoriesService repositoriesService
9088
) {
9189
this.settings = settings;
9290
this.threadPool = threadPool;
@@ -106,7 +104,6 @@ public class NodeService implements Closeable {
106104
this.aggregationUsageService = aggregationUsageService;
107105
this.repositoriesService = repositoriesService;
108106
this.componentVersions = findComponentVersions(pluginService);
109-
this.compatibilityVersions = compatibilityVersions;
110107
clusterService.addStateApplier(ingestService);
111108
}
112109

@@ -127,7 +124,7 @@ public NodeInfo info(
127124
return new NodeInfo(
128125
// TODO: revert to Build.current().version() when Kibana is updated
129126
Version.CURRENT.toString(),
130-
compatibilityVersions,
127+
TransportVersion.current(),
131128
IndexVersion.current(),
132129
componentVersions,
133130
Build.current(),

server/src/test/java/org/elasticsearch/action/admin/cluster/node/info/NodeInfoTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import org.elasticsearch.Build;
1313
import org.elasticsearch.TransportVersion;
1414
import org.elasticsearch.cluster.node.DiscoveryNodeUtils;
15-
import org.elasticsearch.cluster.version.CompatibilityVersions;
1615
import org.elasticsearch.index.IndexVersion;
1716
import org.elasticsearch.index.IndexVersions;
1817
import org.elasticsearch.monitor.jvm.JvmInfo;
@@ -41,7 +40,7 @@ public class NodeInfoTests extends ESTestCase {
4140
public void testGetInfo() {
4241
NodeInfo nodeInfo = new NodeInfo(
4342
Build.current().version(),
44-
new CompatibilityVersions(TransportVersion.current(), Map.of()),
43+
TransportVersion.current(),
4544
IndexVersion.current(),
4645
Map.of(),
4746
Build.current(),

server/src/test/java/org/elasticsearch/action/admin/cluster/remote/RemoteClusterNodesActionTests.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.elasticsearch.cluster.ClusterName;
2727
import org.elasticsearch.cluster.node.DiscoveryNode;
2828
import org.elasticsearch.cluster.node.DiscoveryNodeUtils;
29-
import org.elasticsearch.cluster.version.CompatibilityVersions;
3029
import org.elasticsearch.common.settings.Settings;
3130
import org.elasticsearch.common.transport.BoundTransportAddress;
3231
import org.elasticsearch.common.transport.TransportAddress;
@@ -79,7 +78,7 @@ public void testDoExecuteForRemoteServerNodes() {
7978
nodeInfos.add(
8079
new NodeInfo(
8180
Build.current().version(),
82-
new CompatibilityVersions(TransportVersion.current(), Map.of()),
81+
TransportVersion.current(),
8382
IndexVersion.current(),
8483
Map.of(),
8584
null,
@@ -157,7 +156,7 @@ public void testDoExecuteForRemoteNodes() {
157156
nodeInfos.add(
158157
new NodeInfo(
159158
Build.current().version(),
160-
new CompatibilityVersions(TransportVersion.current(), Map.of()),
159+
TransportVersion.current(),
161160
IndexVersion.current(),
162161
Map.of(),
163162
null,

server/src/test/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsNodesTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.elasticsearch.action.admin.cluster.node.stats.NodeStats;
1616
import org.elasticsearch.action.admin.cluster.node.stats.NodeStatsTests;
1717
import org.elasticsearch.cluster.node.DiscoveryNodeUtils;
18-
import org.elasticsearch.cluster.version.CompatibilityVersions;
1918
import org.elasticsearch.common.network.InetAddresses;
2019
import org.elasticsearch.common.network.NetworkModule;
2120
import org.elasticsearch.common.settings.Settings;
@@ -328,7 +327,7 @@ private static NodeInfo createNodeInfo(String nodeId, String transportType, Stri
328327
}
329328
return new NodeInfo(
330329
Build.current().version(),
331-
new CompatibilityVersions(TransportVersion.current(), Map.of()),
330+
TransportVersion.current(),
332331
IndexVersion.current(),
333332
Map.of(),
334333
Build.current(),

server/src/test/java/org/elasticsearch/action/ingest/ReservedPipelineActionTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.elasticsearch.cluster.node.DiscoveryNode;
2121
import org.elasticsearch.cluster.node.DiscoveryNodeUtils;
2222
import org.elasticsearch.cluster.service.ClusterService;
23-
import org.elasticsearch.cluster.version.CompatibilityVersions;
2423
import org.elasticsearch.common.settings.ClusterSettings;
2524
import org.elasticsearch.common.settings.Settings;
2625
import org.elasticsearch.common.util.concurrent.EsExecutors;
@@ -106,7 +105,7 @@ public void setup() {
106105

107106
NodeInfo nodeInfo = new NodeInfo(
108107
Build.current().version(),
109-
new CompatibilityVersions(TransportVersion.current(), Map.of()),
108+
TransportVersion.current(),
110109
IndexVersion.current(),
111110
Map.of(),
112111
Build.current(),

server/src/test/java/org/elasticsearch/cluster/service/TransportVersionsFixupListenerTests.java

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,18 @@
2727
import org.elasticsearch.common.transport.TransportAddress;
2828
import org.elasticsearch.common.util.Maps;
2929
import org.elasticsearch.features.FeatureService;
30-
import org.elasticsearch.indices.SystemIndexDescriptor;
3130
import org.elasticsearch.test.ESTestCase;
3231
import org.elasticsearch.threadpool.Scheduler;
3332
import org.mockito.ArgumentCaptor;
3433

3534
import java.util.HashMap;
3635
import java.util.List;
3736
import java.util.Map;
38-
import java.util.Set;
3937
import java.util.concurrent.Executor;
4038

41-
import static java.util.Map.entry;
4239
import static org.elasticsearch.test.LambdaMatchers.transformedMatch;
4340
import static org.hamcrest.Matchers.arrayContainingInAnyOrder;
4441
import static org.hamcrest.Matchers.equalTo;
45-
import static org.hamcrest.Matchers.everyItem;
4642
import static org.mockito.ArgumentMatchers.any;
4743
import static org.mockito.ArgumentMatchers.anyString;
4844
import static org.mockito.ArgumentMatchers.same;
@@ -81,7 +77,7 @@ private static <T> Map<String, T> versions(T... versions) {
8177
return tvs;
8278
}
8379

84-
private static NodesInfoResponse getResponse(Map<String, CompatibilityVersions> responseData) {
80+
private static NodesInfoResponse getResponse(Map<String, TransportVersion> responseData) {
8581
return new NodesInfoResponse(
8682
ClusterName.DEFAULT,
8783
responseData.entrySet()
@@ -211,19 +207,10 @@ public void testVersionsAreFixed() {
211207
argThat(transformedMatch(NodesInfoRequest::nodesIds, arrayContainingInAnyOrder("node1", "node2"))),
212208
action.capture()
213209
);
214-
action.getValue()
215-
.onResponse(
216-
getResponse(
217-
Map.ofEntries(
218-
entry("node1", new CompatibilityVersions(NEXT_TRANSPORT_VERSION, Map.of())),
219-
entry("node2", new CompatibilityVersions(NEXT_TRANSPORT_VERSION, Map.of()))
220-
)
221-
)
222-
);
210+
action.getValue().onResponse(getResponse(Map.of("node1", NEXT_TRANSPORT_VERSION, "node2", NEXT_TRANSPORT_VERSION)));
223211
verify(taskQueue).submitTask(anyString(), task.capture(), any());
224212

225-
assertThat(task.getValue().results().keySet(), equalTo(Set.of("node1", "node2")));
226-
assertThat(task.getValue().results().values(), everyItem(equalTo(NEXT_TRANSPORT_VERSION)));
213+
assertThat(task.getValue().results(), equalTo(Map.of("node1", NEXT_TRANSPORT_VERSION, "node2", NEXT_TRANSPORT_VERSION)));
227214
}
228215

229216
public void testConcurrentChangesDoNotOverlap() {
@@ -272,17 +259,12 @@ public void testFailedRequestsAreRetried() {
272259
Scheduler scheduler = mock(Scheduler.class);
273260
Executor executor = mock(Executor.class);
274261

275-
var compatibilityVersions = new CompatibilityVersions(
276-
TransportVersion.current(),
277-
Map.of(".system-index-1", new SystemIndexDescriptor.MappingsVersion(1, 1234))
278-
);
279262
ClusterState testState1 = ClusterState.builder(ClusterState.EMPTY_STATE)
280-
.nodes(node(Version.CURRENT, Version.CURRENT, Version.CURRENT))
263+
.nodes(node(NEXT_VERSION, NEXT_VERSION, NEXT_VERSION))
281264
.nodeIdsToCompatibilityVersions(
282-
Map.ofEntries(
283-
entry("node0", compatibilityVersions),
284-
entry("node1", new CompatibilityVersions(TransportVersions.V_8_8_0, Map.of())),
285-
entry("node2", new CompatibilityVersions(TransportVersions.V_8_8_0, Map.of()))
265+
Maps.transformValues(
266+
versions(NEXT_TRANSPORT_VERSION, TransportVersions.V_8_8_0, TransportVersions.V_8_8_0),
267+
transportVersion -> new CompatibilityVersions(transportVersion, Map.of())
286268
)
287269
)
288270
.build();

server/src/test/java/org/elasticsearch/nodesinfo/NodeInfoStreamingTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import org.elasticsearch.action.admin.cluster.node.info.PluginsAndModules;
1515
import org.elasticsearch.cluster.node.DiscoveryNode;
1616
import org.elasticsearch.cluster.node.DiscoveryNodeUtils;
17-
import org.elasticsearch.cluster.version.CompatibilityVersions;
1817
import org.elasticsearch.common.Strings;
1918
import org.elasticsearch.common.io.stream.BytesStreamOutput;
2019
import org.elasticsearch.common.io.stream.StreamInput;
@@ -242,7 +241,7 @@ private static NodeInfo createNodeInfo() {
242241
}
243242
return new NodeInfo(
244243
randomAlphaOfLengthBetween(6, 32),
245-
new CompatibilityVersions(TransportVersionUtils.randomVersion(random()), Map.of()),
244+
TransportVersionUtils.randomVersion(random()),
246245
IndexVersionUtils.randomVersion(random()),
247246
componentVersions,
248247
build,

0 commit comments

Comments
 (0)