Skip to content

Commit cafc707

Browse files
committed
Removing TransportSingleCustomOperationAction in favour of TransportSingleShardAction to clean up code.
The TransportSingleCustomOperationAction `prefer_local` option has been removed as it isn't worth the effort. The TransportSingleShardAction will execute the operation on the receiving node if a concrete list doesn't provide a list of candite shards routings to perform the operation on.
1 parent 73c0cd5 commit cafc707

23 files changed

+116
-571
lines changed

core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeRequest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
package org.elasticsearch.action.admin.indices.analyze;
2020

2121
import org.elasticsearch.action.ActionRequestValidationException;
22-
import org.elasticsearch.action.support.single.custom.SingleCustomOperationRequest;
22+
import org.elasticsearch.action.support.single.shard.SingleShardRequest;
2323
import org.elasticsearch.common.Strings;
2424
import org.elasticsearch.common.io.stream.StreamInput;
2525
import org.elasticsearch.common.io.stream.StreamOutput;
@@ -32,7 +32,7 @@
3232
* A request to analyze a text associated with a specific index. Allow to provide
3333
* the actual analyzer name to perform the analysis with.
3434
*/
35-
public class AnalyzeRequest extends SingleCustomOperationRequest<AnalyzeRequest> {
35+
public class AnalyzeRequest extends SingleShardRequest<AnalyzeRequest> {
3636

3737
private String[] text;
3838

@@ -114,7 +114,7 @@ public String field() {
114114

115115
@Override
116116
public ActionRequestValidationException validate() {
117-
ActionRequestValidationException validationException = super.validate();
117+
ActionRequestValidationException validationException = null;
118118
if (text == null || text.length == 0) {
119119
validationException = addValidationError("text is missing", validationException);
120120
}

core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeRequestBuilder.java

+2-11
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
*/
1919
package org.elasticsearch.action.admin.indices.analyze;
2020

21-
import org.elasticsearch.action.support.single.custom.SingleCustomOperationRequestBuilder;
21+
import org.elasticsearch.action.support.single.shard.SingleShardOperationRequestBuilder;
2222
import org.elasticsearch.client.ElasticsearchClient;
2323

2424
/**
2525
*
2626
*/
27-
public class AnalyzeRequestBuilder extends SingleCustomOperationRequestBuilder<AnalyzeRequest, AnalyzeResponse, AnalyzeRequestBuilder> {
27+
public class AnalyzeRequestBuilder extends SingleShardOperationRequestBuilder<AnalyzeRequest, AnalyzeResponse, AnalyzeRequestBuilder> {
2828

2929
public AnalyzeRequestBuilder(ElasticsearchClient client, AnalyzeAction action) {
3030
super(client, action, new AnalyzeRequest());
@@ -34,15 +34,6 @@ public AnalyzeRequestBuilder(ElasticsearchClient client, AnalyzeAction action, S
3434
super(client, action, new AnalyzeRequest(index).text(text));
3535
}
3636

37-
/**
38-
* Sets the index to use to analyzer the text (for example, if it holds specific analyzers
39-
* registered).
40-
*/
41-
public AnalyzeRequestBuilder setIndex(String index) {
42-
request.index(index);
43-
return this;
44-
}
45-
4637
/**
4738
* Sets the analyzer name to use in order to analyze the text.
4839
*

core/src/main/java/org/elasticsearch/action/admin/indices/analyze/TransportAnalyzeAction.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import org.elasticsearch.ElasticsearchException;
3030
import org.elasticsearch.Version;
3131
import org.elasticsearch.action.support.ActionFilters;
32-
import org.elasticsearch.action.support.single.custom.TransportSingleCustomOperationAction;
32+
import org.elasticsearch.action.support.single.shard.TransportSingleShardAction;
3333
import org.elasticsearch.cluster.ClusterService;
3434
import org.elasticsearch.cluster.ClusterState;
3535
import org.elasticsearch.cluster.block.ClusterBlockException;
@@ -54,7 +54,7 @@
5454
/**
5555
* Transport action used to execute analyze requests
5656
*/
57-
public class TransportAnalyzeAction extends TransportSingleCustomOperationAction<AnalyzeRequest, AnalyzeResponse> {
57+
public class TransportAnalyzeAction extends TransportSingleShardAction<AnalyzeRequest, AnalyzeResponse> {
5858

5959
private final IndicesService indicesService;
6060
private final IndicesAnalysisService indicesAnalysisService;

core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetFieldMappingsIndexRequest.java

+8-12
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,17 @@
1919

2020
package org.elasticsearch.action.admin.indices.mapping.get;
2121

22+
import org.elasticsearch.action.ActionRequestValidationException;
2223
import org.elasticsearch.action.OriginalIndices;
2324
import org.elasticsearch.action.support.IndicesOptions;
24-
import org.elasticsearch.action.support.single.custom.SingleCustomOperationRequest;
25+
import org.elasticsearch.action.support.single.shard.SingleShardRequest;
2526
import org.elasticsearch.common.Strings;
2627
import org.elasticsearch.common.io.stream.StreamInput;
2728
import org.elasticsearch.common.io.stream.StreamOutput;
2829

2930
import java.io.IOException;
3031

31-
class GetFieldMappingsIndexRequest extends SingleCustomOperationRequest<GetFieldMappingsIndexRequest> {
32+
class GetFieldMappingsIndexRequest extends SingleShardRequest<GetFieldMappingsIndexRequest> {
3233

3334
private boolean probablySingleFieldRequest;
3435
private boolean includeDefaults;
@@ -42,7 +43,6 @@ class GetFieldMappingsIndexRequest extends SingleCustomOperationRequest<GetField
4243

4344
GetFieldMappingsIndexRequest(GetFieldMappingsRequest other, String index, boolean probablySingleFieldRequest) {
4445
super(other);
45-
this.preferLocal(other.local);
4646
this.probablySingleFieldRequest = probablySingleFieldRequest;
4747
this.includeDefaults = other.includeDefaults();
4848
this.types = other.types();
@@ -52,6 +52,11 @@ class GetFieldMappingsIndexRequest extends SingleCustomOperationRequest<GetField
5252
this.originalIndices = new OriginalIndices(other);
5353
}
5454

55+
@Override
56+
public ActionRequestValidationException validate() {
57+
return null;
58+
}
59+
5560
public String[] types() {
5661
return types;
5762
}
@@ -88,11 +93,6 @@ public void writeTo(StreamOutput out) throws IOException {
8893
OriginalIndices.writeOriginalIndices(originalIndices, out);
8994
}
9095

91-
@Override
92-
protected void writeIndex(StreamOutput out) throws IOException {
93-
out.writeString(index());
94-
}
95-
9696
@Override
9797
public void readFrom(StreamInput in) throws IOException {
9898
super.readFrom(in);
@@ -103,8 +103,4 @@ public void readFrom(StreamInput in) throws IOException {
103103
originalIndices = OriginalIndices.readOriginalIndices(in);
104104
}
105105

106-
@Override
107-
protected void readIndex(StreamInput in) throws IOException {
108-
index(in.readString());
109-
}
110106
}

core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/TransportGetFieldMappingsIndexAction.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import org.elasticsearch.ElasticsearchException;
2727
import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData;
2828
import org.elasticsearch.action.support.ActionFilters;
29-
import org.elasticsearch.action.support.single.custom.TransportSingleCustomOperationAction;
29+
import org.elasticsearch.action.support.single.shard.TransportSingleShardAction;
3030
import org.elasticsearch.cluster.ClusterService;
3131
import org.elasticsearch.cluster.ClusterState;
3232
import org.elasticsearch.cluster.block.ClusterBlockException;
@@ -58,7 +58,7 @@
5858
/**
5959
* Transport action used to retrieve the mappings related to fields that belong to a specific index
6060
*/
61-
public class TransportGetFieldMappingsIndexAction extends TransportSingleCustomOperationAction<GetFieldMappingsIndexRequest, GetFieldMappingsResponse> {
61+
public class TransportGetFieldMappingsIndexAction extends TransportSingleShardAction<GetFieldMappingsIndexRequest, GetFieldMappingsResponse> {
6262

6363
private static final String ACTION_NAME = GetFieldMappingsAction.NAME + "[index]";
6464

core/src/main/java/org/elasticsearch/action/explain/ExplainRequest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ public ExplainRequest filteringAlias(String[] filteringAlias) {
152152

153153
@Override
154154
public ActionRequestValidationException validate() {
155-
ActionRequestValidationException validationException = super.validate();
155+
ActionRequestValidationException validationException = super.validateNonNullIndex();
156156
if (type == null) {
157157
validationException = ValidateActions.addValidationError("type is missing", validationException);
158158
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ protected void doExecute(ExplainRequest request, ActionListener<ExplainResponse>
8888
}
8989

9090
@Override
91-
protected boolean resolveIndex() {
91+
protected boolean resolveIndex(ExplainRequest request) {
9292
return true;
9393
}
9494

core/src/main/java/org/elasticsearch/action/get/GetRequest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public GetRequest(String index, String type, String id) {
118118

119119
@Override
120120
public ActionRequestValidationException validate() {
121-
ActionRequestValidationException validationException = super.validate();
121+
ActionRequestValidationException validationException = super.validateNonNullIndex();
122122
if (type == null) {
123123
validationException = ValidateActions.addValidationError("type is missing", validationException);
124124
}

core/src/main/java/org/elasticsearch/action/get/MultiGetShardRequest.java

+6
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
package org.elasticsearch.action.get;
2121

2222
import com.carrotsearch.hppc.IntArrayList;
23+
import org.elasticsearch.action.ActionRequestValidationException;
2324
import org.elasticsearch.action.support.single.shard.SingleShardRequest;
2425
import org.elasticsearch.common.io.stream.StreamInput;
2526
import org.elasticsearch.common.io.stream.StreamOutput;
@@ -54,6 +55,11 @@ public class MultiGetShardRequest extends SingleShardRequest<MultiGetShardReques
5455
ignoreErrorsOnGeneratedFields = multiGetRequest.ignoreErrorsOnGeneratedFields;
5556
}
5657

58+
@Override
59+
public ActionRequestValidationException validate() {
60+
return super.validateNonNullIndex();
61+
}
62+
5763
public int shardId() {
5864
return this.shardId;
5965
}

core/src/main/java/org/elasticsearch/action/get/TransportGetAction.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public TransportGetAction(Settings settings, ClusterService clusterService, Tran
5858
}
5959

6060
@Override
61-
protected boolean resolveIndex() {
61+
protected boolean resolveIndex(GetRequest request) {
6262
return true;
6363
}
6464

core/src/main/java/org/elasticsearch/action/get/TransportShardMultiGetAction.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
package org.elasticsearch.action.get;
2121

2222
import org.elasticsearch.ElasticsearchException;
23-
import org.elasticsearch.ExceptionsHelper;
2423
import org.elasticsearch.action.support.ActionFilters;
2524
import org.elasticsearch.action.support.TransportActions;
2625
import org.elasticsearch.action.support.single.shard.TransportSingleShardAction;
@@ -68,7 +67,7 @@ protected MultiGetShardResponse newResponse() {
6867
}
6968

7069
@Override
71-
protected boolean resolveIndex() {
70+
protected boolean resolveIndex(MultiGetShardRequest request) {
7271
return true;
7372
}
7473

core/src/main/java/org/elasticsearch/action/percolate/TransportShardMultiPercolateAction.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import org.elasticsearch.ElasticsearchException;
2323
import org.elasticsearch.ExceptionsHelper;
24+
import org.elasticsearch.action.ActionRequestValidationException;
2425
import org.elasticsearch.action.ActionResponse;
2526
import org.elasticsearch.action.IndicesRequest;
2627
import org.elasticsearch.action.OriginalIndices;
@@ -76,7 +77,7 @@ protected Response newResponse() {
7677
}
7778

7879
@Override
79-
protected boolean resolveIndex() {
80+
protected boolean resolveIndex(Request request) {
8081
return false;
8182
}
8283

@@ -127,6 +128,11 @@ public static class Request extends SingleShardRequest implements IndicesRequest
127128
this.items = new ArrayList<>();
128129
}
129130

131+
@Override
132+
public ActionRequestValidationException validate() {
133+
return super.validateNonNullIndex();
134+
}
135+
130136
@Override
131137
public String[] indices() {
132138
List<String> indices = new ArrayList<>();

0 commit comments

Comments
 (0)