Skip to content

Commit a2b4a6f

Browse files
authored
Add temporary LegacyActionRequest (#128107)
In order to remove ActionType, ActionRequest will become strongly typed, referring to the ActionResponse type. As a precursor to that, this commit adds a LegacyActionRequest which all existing ActionRequest implementations now inherit from. This will allow adding the ActionResponse type to ActionRequest in a future commit without modifying every implementation at once.
1 parent c0f5e00 commit a2b4a6f

File tree

238 files changed

+682
-645
lines changed

Some content is hidden

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

238 files changed

+682
-645
lines changed

modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/GrokProcessorGetAction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
import org.elasticsearch.TransportVersions;
1212
import org.elasticsearch.action.ActionListener;
13-
import org.elasticsearch.action.ActionRequest;
1413
import org.elasticsearch.action.ActionRequestValidationException;
1514
import org.elasticsearch.action.ActionResponse;
1615
import org.elasticsearch.action.ActionType;
16+
import org.elasticsearch.action.LegacyActionRequest;
1717
import org.elasticsearch.action.support.ActionFilters;
1818
import org.elasticsearch.action.support.HandledTransportAction;
1919
import org.elasticsearch.client.internal.node.NodeClient;
@@ -43,11 +43,11 @@
4343

4444
public class GrokProcessorGetAction {
4545

46-
static final ActionType<GrokProcessorGetAction.Response> INSTANCE = new ActionType<>("cluster:admin/ingest/processor/grok/get");
46+
static final ActionType<Response> INSTANCE = new ActionType<>("cluster:admin/ingest/processor/grok/get");
4747

4848
private GrokProcessorGetAction() {/* no instances */}
4949

50-
public static class Request extends ActionRequest {
50+
public static class Request extends LegacyActionRequest {
5151

5252
private final boolean sorted;
5353
private final String ecsCompatibility;

modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/MultiSearchTemplateRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
package org.elasticsearch.script.mustache;
1111

12-
import org.elasticsearch.action.ActionRequest;
1312
import org.elasticsearch.action.ActionRequestValidationException;
1413
import org.elasticsearch.action.CompositeIndicesRequest;
14+
import org.elasticsearch.action.LegacyActionRequest;
1515
import org.elasticsearch.action.search.MultiSearchRequest;
1616
import org.elasticsearch.action.search.SearchRequest;
1717
import org.elasticsearch.action.support.IndicesOptions;
@@ -30,7 +30,7 @@
3030

3131
import static org.elasticsearch.action.ValidateActions.addValidationError;
3232

33-
public class MultiSearchTemplateRequest extends ActionRequest implements CompositeIndicesRequest {
33+
public class MultiSearchTemplateRequest extends LegacyActionRequest implements CompositeIndicesRequest {
3434

3535
private int maxConcurrentSearchRequests = 0;
3636
private List<SearchTemplateRequest> requests = new ArrayList<>();

modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/SearchTemplateRequest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
package org.elasticsearch.script.mustache;
1111

12-
import org.elasticsearch.action.ActionRequest;
1312
import org.elasticsearch.action.ActionRequestValidationException;
1413
import org.elasticsearch.action.CompositeIndicesRequest;
14+
import org.elasticsearch.action.LegacyActionRequest;
1515
import org.elasticsearch.action.search.SearchRequest;
1616
import org.elasticsearch.common.ParsingException;
1717
import org.elasticsearch.common.Strings;
@@ -34,7 +34,7 @@
3434
/**
3535
* A request to execute a search based on a search template.
3636
*/
37-
public class SearchTemplateRequest extends ActionRequest implements CompositeIndicesRequest, ToXContentObject {
37+
public class SearchTemplateRequest extends LegacyActionRequest implements CompositeIndicesRequest, ToXContentObject {
3838

3939
private SearchRequest request;
4040
private boolean simulate = false;
@@ -171,6 +171,7 @@ public ActionRequestValidationException validate() {
171171
private static final ParseField PROFILE_FIELD = new ParseField("profile");
172172

173173
private static final ObjectParser<SearchTemplateRequest, Void> PARSER;
174+
174175
static {
175176
PARSER = new ObjectParser<>("search_template");
176177
PARSER.declareField((parser, request, s) -> request.setScriptParams(parser.map()), PARAMS_FIELD, ObjectParser.ValueType.OBJECT);

modules/lang-painless/src/main/java/org/elasticsearch/painless/action/PainlessContextAction.java

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

1212
import org.elasticsearch.action.ActionListener;
13-
import org.elasticsearch.action.ActionRequest;
1413
import org.elasticsearch.action.ActionRequestValidationException;
1514
import org.elasticsearch.action.ActionResponse;
1615
import org.elasticsearch.action.ActionType;
16+
import org.elasticsearch.action.LegacyActionRequest;
1717
import org.elasticsearch.action.support.ActionFilters;
1818
import org.elasticsearch.action.support.HandledTransportAction;
1919
import org.elasticsearch.client.internal.node.NodeClient;
@@ -61,7 +61,7 @@ public class PainlessContextAction {
6161

6262
private PainlessContextAction() {/* no instances */}
6363

64-
public static class Request extends ActionRequest {
64+
public static class Request extends LegacyActionRequest {
6565

6666
private String scriptContextName;
6767

modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/RankEvalRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
package org.elasticsearch.index.rankeval;
1111

12-
import org.elasticsearch.action.ActionRequest;
1312
import org.elasticsearch.action.ActionRequestValidationException;
1413
import org.elasticsearch.action.IndicesRequest;
14+
import org.elasticsearch.action.LegacyActionRequest;
1515
import org.elasticsearch.action.search.SearchRequest;
1616
import org.elasticsearch.action.search.SearchType;
1717
import org.elasticsearch.action.support.IndicesOptions;
@@ -26,7 +26,7 @@
2626
/**
2727
* Request to perform a search ranking evaluation.
2828
*/
29-
public final class RankEvalRequest extends ActionRequest implements IndicesRequest.Replaceable {
29+
public final class RankEvalRequest extends LegacyActionRequest implements IndicesRequest.Replaceable {
3030

3131
private RankEvalSpec rankingEvaluationSpec;
3232

modules/rest-root/src/main/java/org/elasticsearch/rest/root/MainRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99

1010
package org.elasticsearch.rest.root;
1111

12-
import org.elasticsearch.action.ActionRequest;
1312
import org.elasticsearch.action.ActionRequestValidationException;
13+
import org.elasticsearch.action.LegacyActionRequest;
1414
import org.elasticsearch.action.support.TransportAction;
1515
import org.elasticsearch.common.io.stream.StreamOutput;
1616

1717
import java.io.IOException;
1818

19-
public class MainRequest extends ActionRequest {
19+
public class MainRequest extends LegacyActionRequest {
2020
@Override
2121
public ActionRequestValidationException validate() {
2222
return null;

modules/transport-netty4/src/internalClusterTest/java/org/elasticsearch/http/netty4/Netty4ChunkedContinuationsIT.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
import org.elasticsearch.ESNetty4IntegTestCase;
1616
import org.elasticsearch.ElasticsearchException;
1717
import org.elasticsearch.action.ActionListener;
18-
import org.elasticsearch.action.ActionRequest;
1918
import org.elasticsearch.action.ActionRequestValidationException;
2019
import org.elasticsearch.action.ActionResponse;
2120
import org.elasticsearch.action.ActionRunnable;
2221
import org.elasticsearch.action.ActionType;
22+
import org.elasticsearch.action.LegacyActionRequest;
2323
import org.elasticsearch.action.support.ActionFilters;
2424
import org.elasticsearch.action.support.CountDownActionListener;
2525
import org.elasticsearch.action.support.SubscribableListener;
@@ -337,14 +337,14 @@ public static class YieldsContinuationsPlugin extends Plugin implements ActionPl
337337
static final String ROUTE = "/_test/yields_continuations";
338338
static final String FAIL_INDEX_PARAM = "fail_index";
339339

340-
private static final ActionType<YieldsContinuationsPlugin.Response> TYPE = new ActionType<>("test:yields_continuations");
340+
private static final ActionType<Response> TYPE = new ActionType<>("test:yields_continuations");
341341

342342
@Override
343343
public Collection<ActionHandler> getActions() {
344344
return List.of(new ActionHandler(TYPE, TransportYieldsContinuationsAction.class));
345345
}
346346

347-
public static class Request extends ActionRequest {
347+
public static class Request extends LegacyActionRequest {
348348
final int failIndex;
349349

350350
public Request(int failIndex) {
@@ -525,7 +525,7 @@ public Collection<ActionHandler> getActions() {
525525
return List.of(new ActionHandler(TYPE, TransportInfiniteContinuationsAction.class));
526526
}
527527

528-
public static class Request extends ActionRequest {
528+
public static class Request extends LegacyActionRequest {
529529
@Override
530530
public ActionRequestValidationException validate() {
531531
return null;

server/src/internalClusterTest/java/org/elasticsearch/action/admin/cluster/node/tasks/CancellableTasksIT.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
import org.elasticsearch.action.ActionFuture;
1515
import org.elasticsearch.action.ActionListener;
1616
import org.elasticsearch.action.ActionListenerResponseHandler;
17-
import org.elasticsearch.action.ActionRequest;
1817
import org.elasticsearch.action.ActionRequestValidationException;
1918
import org.elasticsearch.action.ActionResponse;
2019
import org.elasticsearch.action.ActionType;
2120
import org.elasticsearch.action.LatchedActionListener;
21+
import org.elasticsearch.action.LegacyActionRequest;
2222
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksResponse;
2323
import org.elasticsearch.action.support.ActionFilters;
2424
import org.elasticsearch.action.support.GroupedActionListener;
@@ -118,6 +118,7 @@ static void randomDescendants(TestRequest request, Set<TestRequest> result) {
118118

119119
/**
120120
* Allow some parts of the request to be completed
121+
*
121122
* @return a pending child requests
122123
*/
123124
static Set<TestRequest> allowPartialRequest(TestRequest request) throws Exception {
@@ -418,7 +419,7 @@ static void waitForRootTask(ActionFuture<TestResponse> rootTask, boolean expectT
418419
}
419420
}
420421

421-
static class TestRequest extends ActionRequest {
422+
static class TestRequest extends LegacyActionRequest {
422423
final int id;
423424
final DiscoveryNode node;
424425
final List<TestRequest> subRequests;

server/src/internalClusterTest/java/org/elasticsearch/action/admin/cluster/tasks/ListTasksIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
package org.elasticsearch.action.admin.cluster.tasks;
1111

1212
import org.elasticsearch.action.ActionListener;
13-
import org.elasticsearch.action.ActionRequest;
1413
import org.elasticsearch.action.ActionRequestValidationException;
1514
import org.elasticsearch.action.ActionResponse;
1615
import org.elasticsearch.action.ActionRunnable;
1716
import org.elasticsearch.action.ActionType;
17+
import org.elasticsearch.action.LegacyActionRequest;
1818
import org.elasticsearch.action.support.ActionFilters;
1919
import org.elasticsearch.action.support.HandledTransportAction;
2020
import org.elasticsearch.action.support.PlainActionFuture;
@@ -142,7 +142,7 @@ public List<ActionHandler> getActions() {
142142
}
143143
}
144144

145-
public static class TestRequest extends ActionRequest {
145+
public static class TestRequest extends LegacyActionRequest {
146146
@Override
147147
public ActionRequestValidationException validate() {
148148
return null;

server/src/internalClusterTest/java/org/elasticsearch/search/rank/MockedRequestActionBasedRerankerIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
import org.elasticsearch.TransportVersion;
1717
import org.elasticsearch.TransportVersions;
1818
import org.elasticsearch.action.ActionListener;
19-
import org.elasticsearch.action.ActionRequest;
2019
import org.elasticsearch.action.ActionRequestValidationException;
2120
import org.elasticsearch.action.ActionResponse;
2221
import org.elasticsearch.action.ActionType;
22+
import org.elasticsearch.action.LegacyActionRequest;
2323
import org.elasticsearch.action.search.SearchPhaseController;
2424
import org.elasticsearch.action.support.ActionFilters;
2525
import org.elasticsearch.action.support.HandledTransportAction;
@@ -142,7 +142,7 @@ public static class TestRerankingActionType extends ActionType<TestRerankingActi
142142
}
143143
}
144144

145-
public static class TestRerankingActionRequest extends ActionRequest {
145+
public static class TestRerankingActionRequest extends LegacyActionRequest {
146146

147147
private final List<String> docFeatures;
148148

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the "Elastic License
4+
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
5+
* Public License v 1"; you may not use this file except in compliance with, at
6+
* your election, the "Elastic License 2.0", the "GNU Affero General Public
7+
* License v3.0 only", or the "Server Side Public License, v 1".
8+
*/
9+
10+
package org.elasticsearch.action;
11+
12+
import org.elasticsearch.common.io.stream.StreamInput;
13+
14+
import java.io.IOException;
15+
16+
/**
17+
* An action request with an unspecified response type.
18+
*
19+
* @deprecated Use {@link ActionRequest} with a specific {@link ActionResponse} type.
20+
*/
21+
@Deprecated
22+
public abstract class LegacyActionRequest extends ActionRequest {
23+
public LegacyActionRequest() {
24+
super();
25+
}
26+
27+
public LegacyActionRequest(StreamInput in) throws IOException {
28+
super(in);
29+
}
30+
}

server/src/main/java/org/elasticsearch/action/admin/cluster/coordination/ClusterFormationInfoAction.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
package org.elasticsearch.action.admin.cluster.coordination;
1111

1212
import org.elasticsearch.action.ActionListener;
13-
import org.elasticsearch.action.ActionRequest;
1413
import org.elasticsearch.action.ActionRequestValidationException;
1514
import org.elasticsearch.action.ActionResponse;
1615
import org.elasticsearch.action.ActionType;
16+
import org.elasticsearch.action.LegacyActionRequest;
1717
import org.elasticsearch.action.support.ActionFilters;
1818
import org.elasticsearch.action.support.HandledTransportAction;
1919
import org.elasticsearch.cluster.coordination.ClusterFormationFailureHelper;
@@ -41,7 +41,7 @@ private ClusterFormationInfoAction() {
4141
super(NAME);
4242
}
4343

44-
public static class Request extends ActionRequest {
44+
public static class Request extends LegacyActionRequest {
4545

4646
public Request() {}
4747

@@ -105,7 +105,7 @@ public boolean equals(Object o) {
105105
if (o == null || getClass() != o.getClass()) {
106106
return false;
107107
}
108-
ClusterFormationInfoAction.Response response = (ClusterFormationInfoAction.Response) o;
108+
Response response = (Response) o;
109109
return clusterFormationState.equals(response.clusterFormationState);
110110
}
111111

@@ -118,9 +118,7 @@ public int hashCode() {
118118
/**
119119
* This transport action fetches the ClusterFormationState from a remote node.
120120
*/
121-
public static class TransportAction extends HandledTransportAction<
122-
ClusterFormationInfoAction.Request,
123-
ClusterFormationInfoAction.Response> {
121+
public static class TransportAction extends HandledTransportAction<Request, Response> {
124122
private final Coordinator coordinator;
125123

126124
@Inject
@@ -129,19 +127,15 @@ public TransportAction(TransportService transportService, ActionFilters actionFi
129127
ClusterFormationInfoAction.NAME,
130128
transportService,
131129
actionFilters,
132-
ClusterFormationInfoAction.Request::new,
130+
Request::new,
133131
transportService.getThreadPool().executor(ThreadPool.Names.CLUSTER_COORDINATION)
134132
);
135133
this.coordinator = coordinator;
136134
}
137135

138136
@Override
139-
protected void doExecute(
140-
Task task,
141-
ClusterFormationInfoAction.Request request,
142-
ActionListener<ClusterFormationInfoAction.Response> listener
143-
) {
144-
listener.onResponse(new ClusterFormationInfoAction.Response(coordinator.getClusterFormationState()));
137+
protected void doExecute(Task task, Request request, ActionListener<Response> listener) {
138+
listener.onResponse(new Response(coordinator.getClusterFormationState()));
145139
}
146140
}
147141

server/src/main/java/org/elasticsearch/action/admin/cluster/coordination/CoordinationDiagnosticsAction.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
package org.elasticsearch.action.admin.cluster.coordination;
1111

1212
import org.elasticsearch.action.ActionListener;
13-
import org.elasticsearch.action.ActionRequest;
1413
import org.elasticsearch.action.ActionRequestValidationException;
1514
import org.elasticsearch.action.ActionResponse;
1615
import org.elasticsearch.action.ActionType;
16+
import org.elasticsearch.action.LegacyActionRequest;
1717
import org.elasticsearch.action.support.ActionFilters;
1818
import org.elasticsearch.action.support.HandledTransportAction;
1919
import org.elasticsearch.cluster.coordination.CoordinationDiagnosticsService;
@@ -42,7 +42,7 @@ private CoordinationDiagnosticsAction() {
4242
super(NAME);
4343
}
4444

45-
public static class Request extends ActionRequest {
45+
public static class Request extends LegacyActionRequest {
4646
final boolean explain; // Non-private for testing
4747

4848
public Request(boolean explain) {
@@ -104,7 +104,7 @@ public void writeTo(StreamOutput out) throws IOException {
104104
public boolean equals(Object o) {
105105
if (this == o) return true;
106106
if (o == null || getClass() != o.getClass()) return false;
107-
CoordinationDiagnosticsAction.Response response = (CoordinationDiagnosticsAction.Response) o;
107+
Response response = (Response) o;
108108
return result.equals(response.result);
109109
}
110110

@@ -130,14 +130,14 @@ public TransportAction(
130130
CoordinationDiagnosticsAction.NAME,
131131
transportService,
132132
actionFilters,
133-
CoordinationDiagnosticsAction.Request::new,
133+
Request::new,
134134
transportService.getThreadPool().executor(ThreadPool.Names.CLUSTER_COORDINATION)
135135
);
136136
this.coordinationDiagnosticsService = coordinationDiagnosticsService;
137137
}
138138

139139
@Override
140-
protected void doExecute(Task task, CoordinationDiagnosticsAction.Request request, ActionListener<Response> listener) {
140+
protected void doExecute(Task task, Request request, ActionListener<Response> listener) {
141141
listener.onResponse(new Response(coordinationDiagnosticsService.diagnoseMasterStability(request.explain)));
142142
}
143143
}

0 commit comments

Comments
 (0)