Skip to content

Commit c832572

Browse files
authored
Remove some historical features (#116926)
Historical features are now trivially true on v9 - so we can remove the features, and the check. Historical features do not affect cluster state, so this has no compatibility restrictions.
1 parent 08daf65 commit c832572

File tree

45 files changed

+51
-613
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+51
-613
lines changed

modules/data-streams/src/main/java/org/elasticsearch/datastreams/DataStreamFeatures.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,22 @@
99

1010
package org.elasticsearch.datastreams;
1111

12-
import org.elasticsearch.Version;
1312
import org.elasticsearch.action.admin.indices.rollover.LazyRolloverAction;
1413
import org.elasticsearch.action.datastreams.autosharding.DataStreamAutoShardingService;
1514
import org.elasticsearch.cluster.metadata.DataStreamGlobalRetention;
1615
import org.elasticsearch.datastreams.lifecycle.health.DataStreamLifecycleHealthInfoPublisher;
1716
import org.elasticsearch.features.FeatureSpecification;
1817
import org.elasticsearch.features.NodeFeature;
1918

20-
import java.util.Map;
2119
import java.util.Set;
2220

2321
/**
2422
* Provides the features for data streams that this version of the code supports
2523
*/
2624
public class DataStreamFeatures implements FeatureSpecification {
2725

28-
public static final NodeFeature DATA_STREAM_LIFECYCLE = new NodeFeature("data_stream.lifecycle");
2926
public static final NodeFeature DATA_STREAM_FAILURE_STORE_TSDB_FIX = new NodeFeature("data_stream.failure_store.tsdb_fix");
3027

31-
@Override
32-
public Map<NodeFeature, Version> getHistoricalFeatures() {
33-
return Map.of(DATA_STREAM_LIFECYCLE, Version.V_8_11_0);
34-
}
35-
3628
@Override
3729
public Set<NodeFeature> getFeatures() {
3830
return Set.of(

server/src/main/java/module-info.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,6 @@
426426
org.elasticsearch.cluster.service.TransportFeatures,
427427
org.elasticsearch.cluster.metadata.MetadataFeatures,
428428
org.elasticsearch.rest.RestFeatures,
429-
org.elasticsearch.indices.IndicesFeatures,
430429
org.elasticsearch.repositories.RepositoriesFeatures,
431430
org.elasticsearch.action.admin.cluster.allocation.AllocationStatsFeatures,
432431
org.elasticsearch.rest.action.admin.cluster.ClusterRerouteFeatures,

server/src/main/java/org/elasticsearch/action/ActionModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -853,7 +853,7 @@ public void initRestHandlers(Supplier<DiscoveryNodes> nodesInCluster, Predicate<
853853
registerHandler.accept(new RestClusterStateAction(settingsFilter, threadPool));
854854
registerHandler.accept(new RestClusterHealthAction());
855855
registerHandler.accept(new RestClusterUpdateSettingsAction());
856-
registerHandler.accept(new RestClusterGetSettingsAction(settings, clusterSettings, settingsFilter, clusterSupportsFeature));
856+
registerHandler.accept(new RestClusterGetSettingsAction(settings, clusterSettings, settingsFilter));
857857
registerHandler.accept(new RestClusterRerouteAction(settingsFilter));
858858
registerHandler.accept(new RestClusterSearchShardsAction());
859859
registerHandler.accept(new RestPendingClusterTasksAction());

server/src/main/java/org/elasticsearch/indices/IndicesFeatures.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

server/src/main/java/org/elasticsearch/indices/IndicesService.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import org.elasticsearch.action.ResolvedIndices;
2424
import org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest;
2525
import org.elasticsearch.action.admin.indices.mapping.put.TransportAutoPutMappingAction;
26-
import org.elasticsearch.action.admin.indices.mapping.put.TransportPutMappingAction;
2726
import org.elasticsearch.action.admin.indices.stats.CommonStats;
2827
import org.elasticsearch.action.admin.indices.stats.CommonStatsFlags;
2928
import org.elasticsearch.action.admin.indices.stats.CommonStatsFlags.Flag;
@@ -79,7 +78,6 @@
7978
import org.elasticsearch.env.ShardLock;
8079
import org.elasticsearch.env.ShardLockObtainFailedException;
8180
import org.elasticsearch.features.FeatureService;
82-
import org.elasticsearch.features.NodeFeature;
8381
import org.elasticsearch.gateway.MetaStateService;
8482
import org.elasticsearch.gateway.MetadataStateFormat;
8583
import org.elasticsearch.index.CloseUtils;
@@ -211,8 +209,6 @@ public class IndicesService extends AbstractLifecycleComponent
211209
Setting.Property.NodeScope
212210
);
213211

214-
static final NodeFeature SUPPORTS_AUTO_PUT = new NodeFeature("indices.auto_put_supported");
215-
216212
/**
217213
* The node's settings.
218214
*/
@@ -910,9 +906,7 @@ public void createShard(
910906
.setConcreteIndex(shardRouting.index())
911907
.source(mapping.source().string(), XContentType.JSON);
912908
client.execute(
913-
featureService.clusterHasFeature(clusterService.state(), SUPPORTS_AUTO_PUT)
914-
? TransportAutoPutMappingAction.TYPE
915-
: TransportPutMappingAction.TYPE,
909+
TransportAutoPutMappingAction.TYPE,
916910
putMappingRequestAcknowledgedRequest.ackTimeout(TimeValue.MAX_VALUE).masterNodeTimeout(TimeValue.MAX_VALUE),
917911
new RefCountAwareThreadedActionListener<>(threadPool.generic(), listener.map(ignored -> null))
918912
);

server/src/main/java/org/elasticsearch/rest/RestFeatures.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,10 @@
99

1010
package org.elasticsearch.rest;
1111

12-
import org.elasticsearch.Version;
1312
import org.elasticsearch.features.FeatureSpecification;
1413
import org.elasticsearch.features.NodeFeature;
15-
import org.elasticsearch.rest.action.admin.cluster.RestClusterGetSettingsAction;
1614
import org.elasticsearch.rest.action.admin.cluster.RestNodesCapabilitiesAction;
1715

18-
import java.util.Map;
1916
import java.util.Set;
2017

2118
import static org.elasticsearch.search.fetch.subphase.highlight.DefaultHighlighter.UNIFIED_HIGHLIGHTER_MATCHED_FIELDS;
@@ -29,9 +26,4 @@ public Set<NodeFeature> getFeatures() {
2926
UNIFIED_HIGHLIGHTER_MATCHED_FIELDS
3027
);
3128
}
32-
33-
@Override
34-
public Map<NodeFeature, Version> getHistoricalFeatures() {
35-
return Map.of(RestClusterGetSettingsAction.SUPPORTS_GET_SETTINGS_ACTION, Version.V_8_3_0);
36-
}
3729
}

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterGetSettingsAction.java

Lines changed: 1 addition & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,11 @@
1111

1212
import org.elasticsearch.action.admin.cluster.settings.ClusterGetSettingsAction;
1313
import org.elasticsearch.action.admin.cluster.settings.RestClusterGetSettingsResponse;
14-
import org.elasticsearch.action.admin.cluster.state.ClusterStateRequest;
1514
import org.elasticsearch.action.support.master.MasterNodeReadRequest;
1615
import org.elasticsearch.client.internal.node.NodeClient;
1716
import org.elasticsearch.common.settings.ClusterSettings;
1817
import org.elasticsearch.common.settings.Settings;
1918
import org.elasticsearch.common.settings.SettingsFilter;
20-
import org.elasticsearch.features.NodeFeature;
2119
import org.elasticsearch.rest.BaseRestHandler;
2220
import org.elasticsearch.rest.RestRequest;
2321
import org.elasticsearch.rest.Scope;
@@ -27,31 +25,21 @@
2725
import java.io.IOException;
2826
import java.util.List;
2927
import java.util.Set;
30-
import java.util.function.Predicate;
3128

3229
import static org.elasticsearch.rest.RestRequest.Method.GET;
3330
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
3431

3532
@ServerlessScope(Scope.INTERNAL)
3633
public class RestClusterGetSettingsAction extends BaseRestHandler {
3734

38-
public static final NodeFeature SUPPORTS_GET_SETTINGS_ACTION = new NodeFeature("rest.get_settings_action");
39-
4035
private final Settings settings;
4136
private final ClusterSettings clusterSettings;
4237
private final SettingsFilter settingsFilter;
43-
private final Predicate<NodeFeature> clusterSupportsFeature;
4438

45-
public RestClusterGetSettingsAction(
46-
Settings settings,
47-
ClusterSettings clusterSettings,
48-
SettingsFilter settingsFilter,
49-
Predicate<NodeFeature> clusterSupportsFeature
50-
) {
39+
public RestClusterGetSettingsAction(Settings settings, ClusterSettings clusterSettings, SettingsFilter settingsFilter) {
5140
this.settings = settings;
5241
this.clusterSettings = clusterSettings;
5342
this.settingsFilter = settingsFilter;
54-
this.clusterSupportsFeature = clusterSupportsFeature;
5543
}
5644

5745
@Override
@@ -72,10 +60,6 @@ private static void setUpRequestParams(MasterNodeReadRequest<?> clusterRequest,
7260
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
7361
final boolean renderDefaults = request.paramAsBoolean("include_defaults", false);
7462

75-
if (clusterSupportsFeature.test(SUPPORTS_GET_SETTINGS_ACTION) == false) {
76-
return prepareLegacyRequest(request, client, renderDefaults);
77-
}
78-
7963
ClusterGetSettingsAction.Request clusterSettingsRequest = new ClusterGetSettingsAction.Request(getMasterNodeTimeout(request));
8064

8165
setUpRequestParams(clusterSettingsRequest, request);
@@ -89,29 +73,6 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
8973
);
9074
}
9175

92-
private RestChannelConsumer prepareLegacyRequest(final RestRequest request, final NodeClient client, final boolean renderDefaults) {
93-
ClusterStateRequest clusterStateRequest = new ClusterStateRequest(getMasterNodeTimeout(request)).routingTable(false).nodes(false);
94-
setUpRequestParams(clusterStateRequest, request);
95-
return channel -> client.admin()
96-
.cluster()
97-
.state(
98-
clusterStateRequest,
99-
new RestToXContentListener<RestClusterGetSettingsResponse>(channel).map(
100-
r -> response(
101-
new ClusterGetSettingsAction.Response(
102-
r.getState().metadata().persistentSettings(),
103-
r.getState().metadata().transientSettings(),
104-
r.getState().metadata().settings()
105-
),
106-
renderDefaults,
107-
settingsFilter,
108-
clusterSettings,
109-
settings
110-
)
111-
)
112-
);
113-
}
114-
11576
@Override
11677
protected Set<String> responseParams() {
11778
return Settings.FORMAT_PARAMS;

server/src/main/resources/META-INF/services/org.elasticsearch.features.FeatureSpecification

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ org.elasticsearch.health.HealthFeatures
1414
org.elasticsearch.cluster.service.TransportFeatures
1515
org.elasticsearch.cluster.metadata.MetadataFeatures
1616
org.elasticsearch.rest.RestFeatures
17-
org.elasticsearch.indices.IndicesFeatures
1817
org.elasticsearch.repositories.RepositoriesFeatures
1918
org.elasticsearch.action.admin.cluster.allocation.AllocationStatsFeatures
2019
org.elasticsearch.rest.action.admin.cluster.ClusterRerouteFeatures

server/src/test/java/org/elasticsearch/snapshots/SnapshotResiliencyTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@
146146
import org.elasticsearch.index.seqno.RetentionLeaseSyncer;
147147
import org.elasticsearch.index.shard.PrimaryReplicaSyncer;
148148
import org.elasticsearch.indices.EmptySystemIndices;
149-
import org.elasticsearch.indices.IndicesFeatures;
150149
import org.elasticsearch.indices.IndicesModule;
151150
import org.elasticsearch.indices.IndicesService;
152151
import org.elasticsearch.indices.IndicesServiceBuilder;
@@ -2245,7 +2244,7 @@ public RecyclerBytesStreamOutput newNetworkBytesStream() {
22452244
.scriptService(scriptService)
22462245
.clusterService(clusterService)
22472246
.client(client)
2248-
.featureService(new FeatureService(List.of(new IndicesFeatures())))
2247+
.featureService(new FeatureService(List.of()))
22492248
.metaStateService(new MetaStateService(nodeEnv, namedXContentRegistry))
22502249
.mapperMetrics(MapperMetrics.NOOP)
22512250
.build();

x-pack/plugin/apm-data/src/main/java/org/elasticsearch/xpack/apmdata/APMIndexTemplateRegistry.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import org.elasticsearch.client.internal.Client;
1111
import org.elasticsearch.cluster.service.ClusterService;
1212
import org.elasticsearch.common.settings.Settings;
13-
import org.elasticsearch.features.FeatureService;
1413
import org.elasticsearch.threadpool.ThreadPool;
1514
import org.elasticsearch.xcontent.NamedXContentRegistry;
1615
import org.elasticsearch.xpack.core.ClientHelper;
@@ -33,16 +32,14 @@ public APMIndexTemplateRegistry(
3332
ClusterService clusterService,
3433
ThreadPool threadPool,
3534
Client client,
36-
NamedXContentRegistry xContentRegistry,
37-
FeatureService featureService
35+
NamedXContentRegistry xContentRegistry
3836
) {
3937
super(
4038
nodeSettings,
4139
clusterService,
4240
threadPool,
4341
client,
4442
xContentRegistry,
45-
featureService,
4643
templateFilter(isDataStreamsLifecycleOnlyMode(clusterService.getSettings()))
4744
);
4845
}

0 commit comments

Comments
 (0)