Skip to content

Commit c0cb8c8

Browse files
committed
Run XPack usage actions on local node
These actions solely need the cluster state, they can run on any node. Relates #101805
1 parent f220aba commit c0cb8c8

File tree

51 files changed

+117
-83
lines changed

Some content is hidden

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

51 files changed

+117
-83
lines changed

server/src/main/java/org/elasticsearch/action/support/local/TransportLocalClusterStateAction.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ protected abstract void localClusterStateOperation(Task task, Request request, C
6464

6565
@Override
6666
protected final void doExecute(Task task, Request request, ActionListener<Response> listener) {
67+
if (task != null) {
68+
request.setParentTask(clusterService.localNode().getId(), task.getId());
69+
}
6770
final var state = clusterService.state();
6871
final var clusterBlockException = checkBlock(request, state);
6972
if (clusterBlockException != null) {

x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/action/AnalyticsUsageTransportAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public AnalyticsUsageTransportAction(
4040
}
4141

4242
@Override
43-
protected void masterOperation(
43+
protected void localClusterStateOperation(
4444
Task task,
4545
XPackUsageRequest request,
4646
ClusterState state,

x-pack/plugin/analytics/src/test/java/org/elasticsearch/xpack/analytics/action/AnalyticsInfoTransportActionTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void testAvailable() throws Exception {
7474
client
7575
);
7676
PlainActionFuture<XPackUsageFeatureResponse> future = new PlainActionFuture<>();
77-
usageAction.masterOperation(task, null, clusterState, future);
77+
usageAction.localClusterStateOperation(task, null, clusterState, future);
7878
XPackFeatureUsage usage = future.get().getUsage();
7979
assertThat(usage.available(), is(true));
8080

@@ -102,7 +102,7 @@ public void testEnabled() throws Exception {
102102
client
103103
);
104104
PlainActionFuture<XPackUsageFeatureResponse> future = new PlainActionFuture<>();
105-
usageAction.masterOperation(task, null, clusterState, future);
105+
usageAction.localClusterStateOperation(task, null, clusterState, future);
106106
XPackFeatureUsage usage = future.get().getUsage();
107107
assertTrue(usage.enabled());
108108

x-pack/plugin/ccr/src/main/java/org/elasticsearch/xpack/ccr/CCRUsageTransportAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public CCRUsageTransportAction(
5050
}
5151

5252
@Override
53-
protected void masterOperation(
53+
protected void localClusterStateOperation(
5454
Task task,
5555
XPackUsageRequest request,
5656
ClusterState state,

x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/CCRInfoTransportActionTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ public void testUsageStats() throws Exception {
153153
licenseState
154154
);
155155
PlainActionFuture<XPackUsageFeatureResponse> future = new PlainActionFuture<>();
156-
usageAction.masterOperation(null, null, clusterState, future);
156+
usageAction.localClusterStateOperation(null, null, clusterState, future);
157157
CCRInfoTransportAction.Usage ccrUsage = (CCRInfoTransportAction.Usage) future.get().getUsage();
158158
assertThat(ccrUsage.enabled(), equalTo(true));
159159
assertThat(ccrUsage.available(), equalTo(false));

x-pack/plugin/core/src/internalClusterTest/java/org/elasticsearch/xpack/core/rest/action/XPackUsageRestCancellationIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ public BlockingXPackUsageAction(
153153
}
154154

155155
@Override
156-
protected void masterOperation(
156+
protected void localClusterStateOperation(
157157
Task task,
158158
XPackUsageRequest request,
159159
ClusterState state,
@@ -189,7 +189,7 @@ public NonBlockingXPackUsageAction(
189189
}
190190

191191
@Override
192-
protected void masterOperation(
192+
protected void localClusterStateOperation(
193193
Task task,
194194
XPackUsageRequest request,
195195
ClusterState state,

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
package org.elasticsearch.protocol.xpack;
88

99
import org.elasticsearch.action.ActionRequestValidationException;
10-
import org.elasticsearch.action.support.master.MasterNodeRequest;
10+
import org.elasticsearch.action.support.local.LocalClusterStateRequest;
1111
import org.elasticsearch.common.io.stream.StreamInput;
1212
import org.elasticsearch.core.TimeValue;
1313
import org.elasticsearch.tasks.CancellableTask;
@@ -17,14 +17,14 @@
1717
import java.io.IOException;
1818
import java.util.Map;
1919

20-
public class XPackUsageRequest extends MasterNodeRequest<XPackUsageRequest> {
20+
public class XPackUsageRequest extends LocalClusterStateRequest {
2121

2222
public XPackUsageRequest(TimeValue masterNodeTimeout) {
2323
super(masterNodeTimeout);
2424
}
2525

2626
public XPackUsageRequest(StreamInput in) throws IOException {
27-
super(in);
27+
super(in, false);
2828
}
2929

3030
@Override

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public HealthApiUsageTransportAction(
4444
}
4545

4646
@Override
47-
protected void masterOperation(
47+
protected void localClusterStateOperation(
4848
Task task,
4949
XPackUsageRequest request,
5050
ClusterState state,

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424

2525
public class RemoteClusterUsageTransportAction extends XPackUsageFeatureTransportAction {
2626

27+
private TransportService transportService;
28+
2729
@Inject
2830
public RemoteClusterUsageTransportAction(
2931
TransportService transportService,
@@ -33,10 +35,11 @@ public RemoteClusterUsageTransportAction(
3335
IndexNameExpressionResolver indexNameExpressionResolver
3436
) {
3537
super(XPackUsageFeatureAction.REMOTE_CLUSTERS.name(), transportService, clusterService, threadPool, actionFilters);
38+
this.transportService = transportService;
3639
}
3740

3841
@Override
39-
protected void masterOperation(
42+
protected void localClusterStateOperation(
4043
Task task,
4144
XPackUsageRequest request,
4245
ClusterState state,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public DataStreamLifecycleUsageTransportAction(
4949
}
5050

5151
@Override
52-
protected void masterOperation(
52+
protected void localClusterStateOperation(
5353
Task task,
5454
XPackUsageRequest request,
5555
ClusterState state,

0 commit comments

Comments
 (0)