Skip to content

Commit ca4ea21

Browse files
authored
Remove assumed features in xpack for 9.0 (#120049)
Remove all assumed features defined in xpack added before 8.18
1 parent 03424aa commit ca4ea21

File tree

58 files changed

+59
-636
lines changed

Some content is hidden

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

58 files changed

+59
-636
lines changed

x-pack/plugin/core/src/main/java/org/elasticsearch/license/ClusterStateLicenseService.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.elasticsearch.core.Nullable;
2929
import org.elasticsearch.core.SuppressForbidden;
3030
import org.elasticsearch.core.TimeValue;
31-
import org.elasticsearch.features.FeatureService;
3231
import org.elasticsearch.gateway.GatewayService;
3332
import org.elasticsearch.license.internal.MutableLicenseService;
3433
import org.elasticsearch.license.internal.TrialLicenseVersion;
@@ -65,7 +64,6 @@ public class ClusterStateLicenseService extends AbstractLifecycleComponent
6564
private final Settings settings;
6665

6766
private final ClusterService clusterService;
68-
private final FeatureService featureService;
6967

7068
/**
7169
* The xpack feature state to update when license changes are made.
@@ -104,12 +102,10 @@ public ClusterStateLicenseService(
104102
ThreadPool threadPool,
105103
ClusterService clusterService,
106104
Clock clock,
107-
XPackLicenseState xPacklicenseState,
108-
FeatureService featureService
105+
XPackLicenseState xPacklicenseState
109106
) {
110107
this.settings = settings;
111108
this.clusterService = clusterService;
112-
this.featureService = featureService;
113109
this.startTrialTaskQueue = clusterService.createTaskQueue(
114110
"license-service-start-trial",
115111
Priority.NORMAL,
@@ -344,7 +340,7 @@ public void startTrialLicense(PostStartTrialRequest request, final ActionListene
344340
}
345341
startTrialTaskQueue.submitTask(
346342
StartTrialClusterTask.TASK_SOURCE,
347-
new StartTrialClusterTask(logger, clusterService.getClusterName().value(), clock, featureService, request, listener),
343+
new StartTrialClusterTask(logger, clusterService.getClusterName().value(), clock, request, listener),
348344
null // TODO should pass in request.masterNodeTimeout() here
349345
);
350346
}

x-pack/plugin/core/src/main/java/org/elasticsearch/license/License.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
1717
import org.elasticsearch.common.xcontent.XContentHelper;
1818
import org.elasticsearch.core.UpdateForV9;
19-
import org.elasticsearch.features.NodeFeature;
2019
import org.elasticsearch.xcontent.ToXContentObject;
2120
import org.elasticsearch.xcontent.XContentBuilder;
2221
import org.elasticsearch.xcontent.XContentParser;
@@ -39,8 +38,6 @@
3938
*/
4039
public class License implements ToXContentObject {
4140

42-
public static final NodeFeature INDEPENDENT_TRIAL_VERSION_FEATURE = new NodeFeature("license-trial-independent-version", true);
43-
4441
public enum LicenseType {
4542
BASIC,
4643
STANDARD,

x-pack/plugin/core/src/main/java/org/elasticsearch/license/StartTrialClusterTask.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import org.elasticsearch.cluster.ClusterStateTaskListener;
1414
import org.elasticsearch.cluster.metadata.Metadata;
1515
import org.elasticsearch.core.Nullable;
16-
import org.elasticsearch.features.FeatureService;
1716
import org.elasticsearch.license.internal.TrialLicenseVersion;
1817
import org.elasticsearch.xpack.core.XPackPlugin;
1918

@@ -41,13 +40,11 @@ public class StartTrialClusterTask implements ClusterStateTaskListener {
4140
private final PostStartTrialRequest request;
4241
private final ActionListener<PostStartTrialResponse> listener;
4342
private final Clock clock;
44-
private final FeatureService featureService;
4543

4644
StartTrialClusterTask(
4745
Logger logger,
4846
String clusterName,
4947
Clock clock,
50-
FeatureService featureService,
5148
PostStartTrialRequest request,
5249
ActionListener<PostStartTrialResponse> listener
5350
) {
@@ -56,7 +53,6 @@ public class StartTrialClusterTask implements ClusterStateTaskListener {
5653
this.request = request;
5754
this.listener = listener;
5855
this.clock = clock;
59-
this.featureService = featureService;
6056
}
6157

6258
private LicensesMetadata execute(
@@ -65,9 +61,6 @@ private LicensesMetadata execute(
6561
ClusterStateTaskExecutor.TaskContext<StartTrialClusterTask> taskContext
6662
) {
6763
assert taskContext.getTask() == this;
68-
if (featureService.clusterHasFeature(state, License.INDEPENDENT_TRIAL_VERSION_FEATURE) == false) {
69-
throw new IllegalStateException("Please ensure all nodes are up to date before starting your trial");
70-
}
7164
final var listener = ActionListener.runBefore(this.listener, () -> {
7265
logger.debug("started self generated trial license: {}", currentLicensesMetadata);
7366
});

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

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,15 @@
99

1010
import org.elasticsearch.features.FeatureSpecification;
1111
import org.elasticsearch.features.NodeFeature;
12-
import org.elasticsearch.license.License;
13-
import org.elasticsearch.xpack.core.datatiers.NodesDataTiersUsageTransportAction;
1412

1513
import java.util.Set;
1614

1715
/**
1816
* Provides the XPack features that this version of the code supports
1917
*/
2018
public class XPackFeatures implements FeatureSpecification {
21-
public static final NodeFeature LOGSDB_TELEMETRY = new NodeFeature("logsdb_telemetry", true);
22-
public static final NodeFeature LOGSDB_TELMETRY_STATS = new NodeFeature("logsdb_telemetry_stats", true);
23-
2419
@Override
2520
public Set<NodeFeature> getFeatures() {
26-
return Set.of(
27-
NodesDataTiersUsageTransportAction.LOCALLY_PRECALCULATED_STATS_FEATURE, // Added in 8.12
28-
License.INDEPENDENT_TRIAL_VERSION_FEATURE, // 8.14.0
29-
LOGSDB_TELEMETRY,
30-
LOGSDB_TELMETRY_STATS
31-
);
21+
return Set.of();
3222
}
3323
}

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -331,8 +331,7 @@ public Collection<?> createComponents(PluginServices services) {
331331
services.threadPool(),
332332
services.clusterService(),
333333
getClock(),
334-
getLicenseState(),
335-
services.featureService()
334+
getLicenseState()
336335
);
337336
setLicenseService(licenseService);
338337
}

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/datatiers/DataTiersUsageTransportAction.java

Lines changed: 13 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
import org.elasticsearch.action.ActionListener;
1111
import org.elasticsearch.action.admin.cluster.node.stats.NodeStats;
12-
import org.elasticsearch.action.admin.indices.stats.CommonStatsFlags;
1312
import org.elasticsearch.action.support.ActionFilters;
1413
import org.elasticsearch.client.internal.Client;
1514
import org.elasticsearch.client.internal.ParentTaskAssigningClient;
@@ -22,7 +21,6 @@
2221
import org.elasticsearch.cluster.routing.ShardRouting;
2322
import org.elasticsearch.cluster.routing.allocation.DataTier;
2423
import org.elasticsearch.cluster.service.ClusterService;
25-
import org.elasticsearch.features.FeatureService;
2624
import org.elasticsearch.indices.NodeIndicesStats;
2725
import org.elasticsearch.injection.guice.Inject;
2826
import org.elasticsearch.protocol.xpack.XPackUsageRequest;
@@ -46,7 +44,6 @@
4644
public class DataTiersUsageTransportAction extends XPackUsageFeatureTransportAction {
4745

4846
private final Client client;
49-
private final FeatureService featureService;
5047

5148
@Inject
5249
public DataTiersUsageTransportAction(
@@ -55,8 +52,7 @@ public DataTiersUsageTransportAction(
5552
ThreadPool threadPool,
5653
ActionFilters actionFilters,
5754
IndexNameExpressionResolver indexNameExpressionResolver,
58-
Client client,
59-
FeatureService featureService
55+
Client client
6056
) {
6157
super(
6258
XPackUsageFeatureAction.DATA_TIERS.name(),
@@ -67,7 +63,6 @@ public DataTiersUsageTransportAction(
6763
indexNameExpressionResolver
6864
);
6965
this.client = client;
70-
this.featureService = featureService;
7166
}
7267

7368
@Override
@@ -77,42 +72,22 @@ protected void masterOperation(
7772
ClusterState state,
7873
ActionListener<XPackUsageFeatureResponse> listener
7974
) {
80-
if (featureService.clusterHasFeature(state, NodesDataTiersUsageTransportAction.LOCALLY_PRECALCULATED_STATS_FEATURE)) {
81-
new ParentTaskAssigningClient(client, clusterService.localNode(), task).admin()
82-
.cluster()
83-
.execute(
84-
NodesDataTiersUsageTransportAction.TYPE,
85-
new NodesDataTiersUsageTransportAction.NodesRequest(),
86-
listener.delegateFailureAndWrap((delegate, response) -> {
87-
// Generate tier specific stats for the nodes and indices
88-
delegate.onResponse(
89-
new XPackUsageFeatureResponse(
90-
new DataTiersFeatureSetUsage(
91-
aggregateStats(response.getNodes(), getIndicesGroupedByTier(state, response.getNodes()))
92-
)
93-
)
94-
);
95-
})
96-
);
97-
} else {
98-
new ParentTaskAssigningClient(client, clusterService.localNode(), task).admin()
99-
.cluster()
100-
.prepareNodesStats()
101-
.setIndices(new CommonStatsFlags(CommonStatsFlags.Flag.Docs, CommonStatsFlags.Flag.Store))
102-
.execute(listener.delegateFailureAndWrap((delegate, nodesStatsResponse) -> {
103-
List<NodeDataTiersUsage> response = nodesStatsResponse.getNodes()
104-
.stream()
105-
.map(
106-
nodeStats -> new NodeDataTiersUsage(nodeStats.getNode(), precalculateLocalStatsFromNodeStats(nodeStats, state))
107-
)
108-
.toList();
75+
new ParentTaskAssigningClient(client, clusterService.localNode(), task).admin()
76+
.cluster()
77+
.execute(
78+
NodesDataTiersUsageTransportAction.TYPE,
79+
new NodesDataTiersUsageTransportAction.NodesRequest(),
80+
listener.delegateFailureAndWrap((delegate, response) -> {
81+
// Generate tier specific stats for the nodes and indices
10982
delegate.onResponse(
11083
new XPackUsageFeatureResponse(
111-
new DataTiersFeatureSetUsage(aggregateStats(response, getIndicesGroupedByTier(state, response)))
84+
new DataTiersFeatureSetUsage(
85+
aggregateStats(response.getNodes(), getIndicesGroupedByTier(state, response.getNodes()))
86+
)
11287
)
11388
);
114-
}));
115-
}
89+
})
90+
);
11691
}
11792

11893
// Visible for testing

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/datatiers/NodesDataTiersUsageTransportAction.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.elasticsearch.cluster.service.ClusterService;
2727
import org.elasticsearch.common.io.stream.StreamInput;
2828
import org.elasticsearch.common.io.stream.StreamOutput;
29-
import org.elasticsearch.features.NodeFeature;
3029
import org.elasticsearch.index.shard.DocsStats;
3130
import org.elasticsearch.index.store.StoreStats;
3231
import org.elasticsearch.indices.IndicesService;
@@ -58,7 +57,6 @@ public class NodesDataTiersUsageTransportAction extends TransportNodesAction<
5857
Void> {
5958

6059
public static final ActionType<NodesResponse> TYPE = new ActionType<>("cluster:monitor/nodes/data_tier_usage");
61-
public static final NodeFeature LOCALLY_PRECALCULATED_STATS_FEATURE = new NodeFeature("usage.data_tiers.precalculate_stats", true);
6260

6361
private static final CommonStatsFlags STATS_FLAGS = new CommonStatsFlags().clear()
6462
.set(CommonStatsFlags.Flag.Docs, true)

x-pack/plugin/core/src/test/java/org/elasticsearch/license/AbstractClusterStateLicenseServiceTestCase.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.elasticsearch.common.component.Lifecycle;
1919
import org.elasticsearch.common.settings.Settings;
2020
import org.elasticsearch.env.Environment;
21-
import org.elasticsearch.features.FeatureService;
2221
import org.elasticsearch.test.ESTestCase;
2322
import org.elasticsearch.threadpool.TestThreadPool;
2423
import org.elasticsearch.threadpool.ThreadPool;
@@ -27,7 +26,6 @@
2726
import org.junit.After;
2827
import org.junit.Before;
2928

30-
import java.util.List;
3129
import java.util.stream.Stream;
3230

3331
import static java.util.Collections.emptySet;
@@ -66,14 +64,7 @@ protected void setInitialState(License license, XPackLicenseState licenseState,
6664
protected void setInitialState(License license, XPackLicenseState licenseState, Settings settings, String selfGeneratedType) {
6765
licenseType = selfGeneratedType;
6866
settings = Settings.builder().put(settings).put(LicenseSettings.SELF_GENERATED_LICENSE_TYPE.getKey(), licenseType).build();
69-
licenseService = new ClusterStateLicenseService(
70-
settings,
71-
threadPool,
72-
clusterService,
73-
clock,
74-
licenseState,
75-
new FeatureService(List.of())
76-
);
67+
licenseService = new ClusterStateLicenseService(settings, threadPool, clusterService, clock, licenseState);
7768
ClusterState state = mock(ClusterState.class);
7869
final ClusterBlocks noBlock = ClusterBlocks.builder().build();
7970
when(state.blocks()).thenReturn(noBlock);

x-pack/plugin/core/src/test/java/org/elasticsearch/license/ClusterStateLicenseServiceTests.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.elasticsearch.common.bytes.BytesReference;
2020
import org.elasticsearch.common.settings.Settings;
2121
import org.elasticsearch.core.TimeValue;
22-
import org.elasticsearch.features.FeatureService;
2322
import org.elasticsearch.license.licensor.LicenseSigner;
2423
import org.elasticsearch.protocol.xpack.license.LicensesStatus;
2524
import org.elasticsearch.protocol.xpack.license.PutLicenseResponse;
@@ -91,8 +90,7 @@ public void testLogExpirationWarning() {
9190
mock(ThreadPool.class),
9291
mockDefaultClusterService(),
9392
mock(Clock.class),
94-
mock(XPackLicenseState.class),
95-
new FeatureService(List.of())
93+
mock(XPackLicenseState.class)
9694
);
9795
final String message = service.buildExpirationMessage(time, expired).toString();
9896
if (expired) {
@@ -187,8 +185,7 @@ public void testStartBasicStartsNewLicenseIfFieldsDifferent() throws Exception {
187185
mock(ThreadPool.class),
188186
clusterService,
189187
clock,
190-
mock(XPackLicenseState.class),
191-
new FeatureService(List.of())
188+
mock(XPackLicenseState.class)
192189
);
193190
verify(clusterService).createTaskQueue(eq("license-service-start-basic"), any(), taskExecutorCaptor.capture());
194191

@@ -280,8 +277,7 @@ private void tryRegisterLicense(Settings baseSettings, License license, Consumer
280277
threadPool,
281278
clusterService,
282279
clock,
283-
licenseState,
284-
new FeatureService(List.of())
280+
licenseState
285281
);
286282

287283
final PutLicenseRequest request = new PutLicenseRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);

x-pack/plugin/core/src/test/java/org/elasticsearch/license/LicenseScheduleTests.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,13 @@
1010
import org.elasticsearch.common.scheduler.SchedulerEngine;
1111
import org.elasticsearch.common.settings.Settings;
1212
import org.elasticsearch.core.TimeValue;
13-
import org.elasticsearch.features.FeatureService;
1413
import org.elasticsearch.test.ESTestCase;
1514
import org.elasticsearch.threadpool.ThreadPool;
1615
import org.junit.Before;
1716

1817
import java.time.Clock;
1918
import java.time.Instant;
2019
import java.time.format.DateTimeFormatter;
21-
import java.util.List;
2220
import java.util.Locale;
2321

2422
import static org.hamcrest.Matchers.equalTo;
@@ -37,8 +35,7 @@ public void setup() throws Exception {
3735
mock(ThreadPool.class),
3836
mock(ClusterService.class),
3937
mock(Clock.class),
40-
mock(XPackLicenseState.class),
41-
new FeatureService(List.of())
38+
mock(XPackLicenseState.class)
4239
);
4340
schedule = service.nextLicenseCheck(license);
4441
}

0 commit comments

Comments
 (0)