Skip to content

Commit 7a150ec

Browse files
authored
Core: Combine doExecute methods in TransportAction (#31517)
TransportAction currently contains 2 doExecute methods, one which takes a the task, and one that does not. The latter is what some subclasses implement, while the first one just calls the latter, dropping the given task. This commit combines these methods, in favor of just always assuming a task is present.
1 parent f04c579 commit 7a150ec

File tree

111 files changed

+240
-224
lines changed

Some content is hidden

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

111 files changed

+240
-224
lines changed

client/client-benchmark-noop-api-plugin/src/main/java/org/elasticsearch/plugin/noop/action/bulk/TransportNoopBulkAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.elasticsearch.common.inject.Inject;
3131
import org.elasticsearch.common.settings.Settings;
3232
import org.elasticsearch.index.shard.ShardId;
33+
import org.elasticsearch.tasks.Task;
3334
import org.elasticsearch.transport.TransportService;
3435

3536
public class TransportNoopBulkAction extends HandledTransportAction<BulkRequest, BulkResponse> {
@@ -42,7 +43,7 @@ public TransportNoopBulkAction(Settings settings, TransportService transportServ
4243
}
4344

4445
@Override
45-
protected void doExecute(BulkRequest request, ActionListener<BulkResponse> listener) {
46+
protected void doExecute(Task task, BulkRequest request, ActionListener<BulkResponse> listener) {
4647
final int itemCount = request.requests().size();
4748
// simulate at least a realistic amount of data that gets serialized
4849
BulkItemResponse[] bulkItemResponses = new BulkItemResponse[itemCount];

client/client-benchmark-noop-api-plugin/src/main/java/org/elasticsearch/plugin/noop/action/search/TransportNoopSearchAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.elasticsearch.search.internal.InternalSearchResponse;
3434
import org.elasticsearch.search.profile.SearchProfileShardResults;
3535
import org.elasticsearch.search.suggest.Suggest;
36+
import org.elasticsearch.tasks.Task;
3637
import org.elasticsearch.transport.TransportService;
3738

3839
import java.util.Collections;
@@ -44,7 +45,7 @@ public TransportNoopSearchAction(Settings settings, TransportService transportSe
4445
}
4546

4647
@Override
47-
protected void doExecute(SearchRequest request, ActionListener<SearchResponse> listener) {
48+
protected void doExecute(Task task, SearchRequest request, ActionListener<SearchResponse> listener) {
4849
listener.onResponse(new SearchResponse(new InternalSearchResponse(
4950
new SearchHits(
5051
new SearchHit[0], 0L, 0.0f),

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.elasticsearch.rest.RestRequest;
4242
import org.elasticsearch.rest.RestResponse;
4343
import org.elasticsearch.rest.action.RestBuilderListener;
44+
import org.elasticsearch.tasks.Task;
4445
import org.elasticsearch.transport.TransportService;
4546

4647
import java.io.IOException;
@@ -118,7 +119,7 @@ public TransportAction(Settings settings, TransportService transportService, Act
118119
}
119120

120121
@Override
121-
protected void doExecute(Request request, ActionListener<Response> listener) {
122+
protected void doExecute(Task task, Request request, ActionListener<Response> listener) {
122123
try {
123124
listener.onResponse(new Response(GROK_PATTERNS));
124125
} catch (Exception e) {

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.elasticsearch.common.settings.Settings;
3131
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
3232
import org.elasticsearch.script.ScriptService;
33+
import org.elasticsearch.tasks.Task;
3334
import org.elasticsearch.transport.TransportService;
3435

3536
import java.util.ArrayList;
@@ -54,7 +55,7 @@ public TransportMultiSearchTemplateAction(Settings settings, TransportService tr
5455
}
5556

5657
@Override
57-
protected void doExecute(MultiSearchTemplateRequest request, ActionListener<MultiSearchTemplateResponse> listener) {
58+
protected void doExecute(Task task, MultiSearchTemplateRequest request, ActionListener<MultiSearchTemplateResponse> listener) {
5859
List<Integer> originalSlots = new ArrayList<>();
5960
MultiSearchRequest multiSearchRequest = new MultiSearchRequest();
6061
multiSearchRequest.indicesOptions(request.indicesOptions());

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.elasticsearch.script.ScriptType;
3939
import org.elasticsearch.script.TemplateScript;
4040
import org.elasticsearch.search.builder.SearchSourceBuilder;
41+
import org.elasticsearch.tasks.Task;
4142
import org.elasticsearch.transport.TransportService;
4243

4344
import java.io.IOException;
@@ -63,7 +64,7 @@ public TransportSearchTemplateAction(Settings settings, TransportService transpo
6364
}
6465

6566
@Override
66-
protected void doExecute(SearchTemplateRequest request, ActionListener<SearchTemplateResponse> listener) {
67+
protected void doExecute(Task task, SearchTemplateRequest request, ActionListener<SearchTemplateResponse> listener) {
6768
final SearchTemplateResponse response = new SearchTemplateResponse();
6869
try {
6970
SearchRequest searchRequest = convert(request, response, scriptService, xContentRegistry);

modules/lang-painless/src/main/java/org/elasticsearch/painless/PainlessExecuteAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
import org.elasticsearch.script.ScriptContext;
4949
import org.elasticsearch.script.ScriptService;
5050
import org.elasticsearch.script.ScriptType;
51+
import org.elasticsearch.tasks.Task;
5152
import org.elasticsearch.transport.TransportService;
5253

5354
import java.io.IOException;
@@ -285,7 +286,7 @@ public TransportAction(Settings settings, TransportService transportService,
285286
this.scriptService = scriptService;
286287
}
287288
@Override
288-
protected void doExecute(Request request, ActionListener<Response> listener) {
289+
protected void doExecute(Task task, Request request, ActionListener<Response> listener) {
289290
switch (request.context) {
290291
case PAINLESS_TEST:
291292
PainlessTestScript.Factory factory = scriptService.compile(request.script, PainlessTestScript.CONTEXT);

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import org.elasticsearch.script.TemplateScript;
4141
import org.elasticsearch.search.SearchHit;
4242
import org.elasticsearch.search.builder.SearchSourceBuilder;
43+
import org.elasticsearch.tasks.Task;
4344
import org.elasticsearch.transport.TransportService;
4445

4546
import java.io.IOException;
@@ -83,7 +84,7 @@ public TransportRankEvalAction(Settings settings, ActionFilters actionFilters, C
8384
}
8485

8586
@Override
86-
protected void doExecute(RankEvalRequest request, ActionListener<RankEvalResponse> listener) {
87+
protected void doExecute(Task task, RankEvalRequest request, ActionListener<RankEvalResponse> listener) {
8788
RankEvalSpec evaluationSpecification = request.getRankEvalSpec();
8889
EvaluationMetric metric = evaluationSpecification.getMetric();
8990

modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportDeleteByQueryAction.java

-5
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,4 @@ public void doExecute(Task task, DeleteByQueryRequest request, ActionListener<Bu
6767
}
6868
);
6969
}
70-
71-
@Override
72-
protected void doExecute(DeleteByQueryRequest request, ActionListener<BulkByScrollResponse> listener) {
73-
throw new UnsupportedOperationException("task required");
74-
}
7570
}

modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java

-5
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,6 @@ protected void doExecute(Task task, ReindexRequest request, ActionListener<BulkB
134134
);
135135
}
136136

137-
@Override
138-
protected void doExecute(ReindexRequest request, ActionListener<BulkByScrollResponse> listener) {
139-
throw new UnsupportedOperationException("task required");
140-
}
141-
142137
static void checkRemoteWhitelist(CharacterRunAutomaton whitelist, RemoteInfo remoteInfo) {
143138
if (remoteInfo == null) {
144139
return;

modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportUpdateByQueryAction.java

-5
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,6 @@ protected void doExecute(Task task, UpdateByQueryRequest request, ActionListener
7878
);
7979
}
8080

81-
@Override
82-
protected void doExecute(UpdateByQueryRequest request, ActionListener<BulkByScrollResponse> listener) {
83-
throw new UnsupportedOperationException("task required");
84-
}
85-
8681
/**
8782
* Simple implementation of update-by-query using scrolling and bulk.
8883
*/

server/src/main/java/org/elasticsearch/action/admin/cluster/node/tasks/get/TransportGetTaskAction.java

-5
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,6 @@ public TransportGetTaskAction(Settings settings, ThreadPool threadPool, Transpor
8181
this.xContentRegistry = xContentRegistry;
8282
}
8383

84-
@Override
85-
protected void doExecute(GetTaskRequest request, ActionListener<GetTaskResponse> listener) {
86-
throw new UnsupportedOperationException("Task is required");
87-
}
88-
8984
@Override
9085
protected void doExecute(Task thisTask, GetTaskRequest request, ActionListener<GetTaskResponse> listener) {
9186
if (clusterService.localNode().getId().equals(request.getTaskId().getNodeId())) {

server/src/main/java/org/elasticsearch/action/admin/cluster/remote/TransportRemoteInfoAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.function.Supplier;
2323

2424
import org.elasticsearch.action.ActionListener;
25+
import org.elasticsearch.tasks.Task;
2526
import org.elasticsearch.transport.RemoteClusterService;
2627
import org.elasticsearch.action.search.SearchTransportService;
2728
import org.elasticsearch.action.support.ActionFilters;
@@ -45,7 +46,7 @@ public TransportRemoteInfoAction(Settings settings, TransportService transportSe
4546
}
4647

4748
@Override
48-
protected void doExecute(RemoteInfoRequest remoteInfoRequest, ActionListener<RemoteInfoResponse> listener) {
49+
protected void doExecute(Task task, RemoteInfoRequest remoteInfoRequest, ActionListener<RemoteInfoResponse> listener) {
4950
listener.onResponse(new RemoteInfoResponse(remoteClusterService.getRemoteConnectionInfos().collect(toList())));
5051
}
5152
}

server/src/main/java/org/elasticsearch/action/admin/indices/flush/TransportSyncedFlushAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.elasticsearch.common.inject.Inject;
2828
import org.elasticsearch.common.settings.Settings;
2929
import org.elasticsearch.indices.flush.SyncedFlushService;
30+
import org.elasticsearch.tasks.Task;
3031
import org.elasticsearch.transport.TransportService;
3132

3233
/**
@@ -45,7 +46,7 @@ public TransportSyncedFlushAction(Settings settings, TransportService transportS
4546
}
4647

4748
@Override
48-
protected void doExecute(SyncedFlushRequest request, ActionListener<SyncedFlushResponse> listener) {
49+
protected void doExecute(Task task, SyncedFlushRequest request, ActionListener<SyncedFlushResponse> listener) {
4950
syncedFlushService.attemptSyncedFlush(request.indices(), request.indicesOptions(), listener);
5051
}
5152
}

server/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/TransportGetFieldMappingsAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.elasticsearch.cluster.service.ClusterService;
2828
import org.elasticsearch.common.inject.Inject;
2929
import org.elasticsearch.common.settings.Settings;
30+
import org.elasticsearch.tasks.Task;
3031
import org.elasticsearch.transport.TransportService;
3132

3233
import java.util.HashMap;
@@ -53,7 +54,7 @@ public TransportGetFieldMappingsAction(Settings settings, TransportService trans
5354
}
5455

5556
@Override
56-
protected void doExecute(GetFieldMappingsRequest request, final ActionListener<GetFieldMappingsResponse> listener) {
57+
protected void doExecute(Task task, GetFieldMappingsRequest request, final ActionListener<GetFieldMappingsResponse> listener) {
5758
ClusterState clusterState = clusterService.state();
5859
String[] concreteIndices = indexNameExpressionResolver.concreteIndexNames(clusterState, request);
5960
final AtomicInteger indexCounter = new AtomicInteger();

server/src/main/java/org/elasticsearch/action/bulk/TransportBulkAction.java

-5
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,6 @@ public TransportBulkAction(Settings settings, ThreadPool threadPool, TransportSe
123123
clusterService.addStateApplier(this.ingestForwarder);
124124
}
125125

126-
@Override
127-
protected final void doExecute(final BulkRequest bulkRequest, final ActionListener<BulkResponse> listener) {
128-
throw new UnsupportedOperationException("task parameter is required for this operation");
129-
}
130-
131126
@Override
132127
protected void doExecute(Task task, BulkRequest bulkRequest, ActionListener<BulkResponse> listener) {
133128
if (bulkRequest.hasIndexRequestsWithPipelines()) {

server/src/main/java/org/elasticsearch/action/explain/TransportExplainAction.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import org.elasticsearch.search.internal.ShardSearchLocalRequest;
4545
import org.elasticsearch.search.rescore.RescoreContext;
4646
import org.elasticsearch.search.rescore.Rescorer;
47+
import org.elasticsearch.tasks.Task;
4748
import org.elasticsearch.threadpool.ThreadPool;
4849
import org.elasticsearch.transport.TransportService;
4950

@@ -67,9 +68,9 @@ public TransportExplainAction(Settings settings, ThreadPool threadPool, ClusterS
6768
}
6869

6970
@Override
70-
protected void doExecute(ExplainRequest request, ActionListener<ExplainResponse> listener) {
71+
protected void doExecute(Task task, ExplainRequest request, ActionListener<ExplainResponse> listener) {
7172
request.nowInMillis = System.currentTimeMillis();
72-
super.doExecute(request, listener);
73+
super.doExecute(task, request, listener);
7374
}
7475

7576
@Override

server/src/main/java/org/elasticsearch/action/fieldcaps/TransportFieldCapabilitiesAction.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.elasticsearch.common.inject.Inject;
3232
import org.elasticsearch.common.settings.Settings;
3333
import org.elasticsearch.common.util.concurrent.CountDown;
34+
import org.elasticsearch.tasks.Task;
3435
import org.elasticsearch.threadpool.ThreadPool;
3536
import org.elasticsearch.transport.RemoteClusterAware;
3637
import org.elasticsearch.transport.RemoteClusterService;
@@ -63,8 +64,7 @@ public TransportFieldCapabilitiesAction(Settings settings, TransportService tran
6364
}
6465

6566
@Override
66-
protected void doExecute(FieldCapabilitiesRequest request,
67-
final ActionListener<FieldCapabilitiesResponse> listener) {
67+
protected void doExecute(Task task, FieldCapabilitiesRequest request, final ActionListener<FieldCapabilitiesResponse> listener) {
6868
final ClusterState clusterState = clusterService.state();
6969
final Map<String, OriginalIndices> remoteClusterIndices = remoteClusterService.groupIndices(request.indicesOptions(),
7070
request.indices(), idx -> indexNameExpressionResolver.hasIndexOrAlias(idx, clusterState));

server/src/main/java/org/elasticsearch/action/get/TransportMultiGetAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.elasticsearch.common.settings.Settings;
3131
import org.elasticsearch.common.util.concurrent.AtomicArray;
3232
import org.elasticsearch.index.shard.ShardId;
33+
import org.elasticsearch.tasks.Task;
3334
import org.elasticsearch.transport.TransportService;
3435

3536
import java.util.HashMap;
@@ -53,7 +54,7 @@ public TransportMultiGetAction(Settings settings, TransportService transportServ
5354
}
5455

5556
@Override
56-
protected void doExecute(final MultiGetRequest request, final ActionListener<MultiGetResponse> listener) {
57+
protected void doExecute(Task task, final MultiGetRequest request, final ActionListener<MultiGetResponse> listener) {
5758
ClusterState clusterState = clusterService.state();
5859
clusterState.blocks().globalBlockedRaiseException(ClusterBlockLevel.READ);
5960

server/src/main/java/org/elasticsearch/action/ingest/SimulatePipelineTransportAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.elasticsearch.common.xcontent.XContentHelper;
2929
import org.elasticsearch.ingest.PipelineStore;
3030
import org.elasticsearch.node.NodeService;
31+
import org.elasticsearch.tasks.Task;
3132
import org.elasticsearch.threadpool.ThreadPool;
3233
import org.elasticsearch.transport.TransportService;
3334

@@ -48,7 +49,7 @@ public SimulatePipelineTransportAction(Settings settings, ThreadPool threadPool,
4849
}
4950

5051
@Override
51-
protected void doExecute(SimulatePipelineRequest request, ActionListener<SimulatePipelineResponse> listener) {
52+
protected void doExecute(Task task, SimulatePipelineRequest request, ActionListener<SimulatePipelineResponse> listener) {
5253
final Map<String, Object> source = XContentHelper.convertToMap(request.getSource(), false, request.getXContentType()).v2();
5354

5455
final SimulatePipelineRequest.Parsed simulateRequest;

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.elasticsearch.common.settings.Settings;
3131
import org.elasticsearch.node.Node;
3232
import org.elasticsearch.rest.RestStatus;
33+
import org.elasticsearch.tasks.Task;
3334
import org.elasticsearch.transport.TransportService;
3435

3536
public class TransportMainAction extends HandledTransportAction<MainRequest, MainResponse> {
@@ -44,7 +45,7 @@ public TransportMainAction(Settings settings, TransportService transportService,
4445
}
4546

4647
@Override
47-
protected void doExecute(MainRequest request, ActionListener<MainResponse> listener) {
48+
protected void doExecute(Task task, MainRequest request, ActionListener<MainResponse> listener) {
4849
ClusterState clusterState = clusterService.state();
4950
assert Node.NODE_NAME_SETTING.exists(settings);
5051
final boolean available = clusterState.getBlocks().hasGlobalBlock(RestStatus.SERVICE_UNAVAILABLE) == false;

server/src/main/java/org/elasticsearch/action/search/TransportClearScrollAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.elasticsearch.cluster.service.ClusterService;
2626
import org.elasticsearch.common.inject.Inject;
2727
import org.elasticsearch.common.settings.Settings;
28+
import org.elasticsearch.tasks.Task;
2829
import org.elasticsearch.transport.TransportService;
2930

3031
public class TransportClearScrollAction extends HandledTransportAction<ClearScrollRequest, ClearScrollResponse> {
@@ -43,7 +44,7 @@ public TransportClearScrollAction(Settings settings, TransportService transportS
4344
}
4445

4546
@Override
46-
protected void doExecute(ClearScrollRequest request, final ActionListener<ClearScrollResponse> listener) {
47+
protected void doExecute(Task task, ClearScrollRequest request, final ActionListener<ClearScrollResponse> listener) {
4748
Runnable runnable = new ClearScrollController(request, listener, clusterService.state().nodes(), logger, searchTransportService);
4849
runnable.run();
4950
}

server/src/main/java/org/elasticsearch/action/search/TransportMultiSearchAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.elasticsearch.common.settings.Settings;
3131
import org.elasticsearch.common.util.concurrent.AtomicArray;
3232
import org.elasticsearch.common.util.concurrent.EsExecutors;
33+
import org.elasticsearch.tasks.Task;
3334
import org.elasticsearch.threadpool.ThreadPool;
3435
import org.elasticsearch.transport.TransportService;
3536

@@ -70,7 +71,7 @@ public TransportMultiSearchAction(Settings settings, ThreadPool threadPool, Tran
7071
}
7172

7273
@Override
73-
protected void doExecute(MultiSearchRequest request, ActionListener<MultiSearchResponse> listener) {
74+
protected void doExecute(Task task, MultiSearchRequest request, ActionListener<MultiSearchResponse> listener) {
7475
final long relativeStartTime = relativeTimeProvider.getAsLong();
7576

7677
ClusterState clusterState = clusterService.state();

server/src/main/java/org/elasticsearch/action/search/TransportSearchAction.java

-5
Original file line numberDiff line numberDiff line change
@@ -362,11 +362,6 @@ static GroupShardsIterator<SearchShardIterator> mergeShardsIterators(GroupShards
362362
return new GroupShardsIterator<>(shards);
363363
}
364364

365-
@Override
366-
protected final void doExecute(SearchRequest searchRequest, ActionListener<SearchResponse> listener) {
367-
throw new UnsupportedOperationException("the task parameter is required");
368-
}
369-
370365
private AbstractSearchAsyncAction searchAsyncAction(SearchTask task, SearchRequest searchRequest,
371366
GroupShardsIterator<SearchShardIterator> shardIterators,
372367
SearchTimeProvider timeProvider,

server/src/main/java/org/elasticsearch/action/search/TransportSearchScrollAction.java

-4
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,6 @@ public TransportSearchScrollAction(Settings settings, TransportService transport
5050
this.searchPhaseController = searchPhaseController;
5151
}
5252

53-
@Override
54-
protected final void doExecute(SearchScrollRequest request, ActionListener<SearchResponse> listener) {
55-
throw new UnsupportedOperationException("the task parameter is required");
56-
}
5753
@Override
5854
protected void doExecute(Task task, SearchScrollRequest request, ActionListener<SearchResponse> listener) {
5955
try {

server/src/main/java/org/elasticsearch/action/support/TransportAction.java

+1-5
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,7 @@ public final void execute(Task task, Request request, ActionListener<Response> l
123123
requestFilterChain.proceed(task, actionName, request, listener);
124124
}
125125

126-
protected void doExecute(Task task, Request request, ActionListener<Response> listener) {
127-
doExecute(request, listener);
128-
}
129-
130-
protected abstract void doExecute(Request request, ActionListener<Response> listener);
126+
protected abstract void doExecute(Task task, Request request, ActionListener<Response> listener);
131127

132128
private static class RequestFilterChain<Request extends ActionRequest, Response extends ActionResponse>
133129
implements ActionFilterChain<Request, Response> {

server/src/main/java/org/elasticsearch/action/support/broadcast/TransportBroadcastAction.java

-5
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,6 @@ protected void doExecute(Task task, Request request, ActionListener<Response> li
7575
new AsyncBroadcastAction(task, request, listener).start();
7676
}
7777

78-
@Override
79-
protected final void doExecute(Request request, ActionListener<Response> listener) {
80-
throw new UnsupportedOperationException("the task parameter is required for this operation");
81-
}
82-
8378
protected abstract Response newResponse(Request request, AtomicReferenceArray shardsResponses, ClusterState clusterState);
8479

8580
protected abstract ShardRequest newShardRequest(int numShards, ShardRouting shard, Request request);

0 commit comments

Comments
 (0)