Skip to content

Commit 7a0fdfa

Browse files
authored
Merge ShardSearchTransportRequest and ShardSearchLocalRequest (#46996)
This change merges the `ShardSearchTransportRequest` and `ShardSearchLocalRequest` into a single `ShardSearchRequest` that can be used to create a SearchContext. Relates #46523
1 parent 707ff24 commit 7a0fdfa

File tree

18 files changed

+345
-771
lines changed

18 files changed

+345
-771
lines changed

server/src/main/java/org/elasticsearch/action/admin/indices/validate/query/TransportValidateQueryAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
import org.elasticsearch.search.SearchService;
4747
import org.elasticsearch.search.internal.AliasFilter;
4848
import org.elasticsearch.search.internal.SearchContext;
49-
import org.elasticsearch.search.internal.ShardSearchLocalRequest;
49+
import org.elasticsearch.search.internal.ShardSearchRequest;
5050
import org.elasticsearch.tasks.Task;
5151
import org.elasticsearch.threadpool.ThreadPool;
5252
import org.elasticsearch.transport.TransportService;
@@ -194,7 +194,7 @@ protected ShardValidateQueryResponse shardOperation(ShardValidateQueryRequest re
194194
boolean valid;
195195
String explanation = null;
196196
String error = null;
197-
ShardSearchLocalRequest shardSearchLocalRequest = new ShardSearchLocalRequest(request.shardId(),
197+
ShardSearchRequest shardSearchLocalRequest = new ShardSearchRequest(request.shardId(),
198198
request.nowInMillis(), request.filteringAliases());
199199
SearchContext searchContext = searchService.createSearchContext(shardSearchLocalRequest, SearchService.NO_TIMEOUT);
200200
try {

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
import org.elasticsearch.search.SearchService;
4444
import org.elasticsearch.search.internal.AliasFilter;
4545
import org.elasticsearch.search.internal.SearchContext;
46-
import org.elasticsearch.search.internal.ShardSearchLocalRequest;
46+
import org.elasticsearch.search.internal.ShardSearchRequest;
4747
import org.elasticsearch.search.rescore.RescoreContext;
4848
import org.elasticsearch.search.rescore.Rescorer;
4949
import org.elasticsearch.tasks.Task;
@@ -108,8 +108,7 @@ protected void asyncShardOperation(ExplainRequest request, ShardId shardId,
108108

109109
@Override
110110
protected ExplainResponse shardOperation(ExplainRequest request, ShardId shardId) throws IOException {
111-
ShardSearchLocalRequest shardSearchLocalRequest = new ShardSearchLocalRequest(shardId, request.nowInMillis,
112-
request.filteringAlias());
111+
ShardSearchRequest shardSearchLocalRequest = new ShardSearchRequest(shardId, request.nowInMillis, request.filteringAlias());
113112
SearchContext context = searchService.createSearchContext(shardSearchLocalRequest, SearchService.NO_TIMEOUT);
114113
Engine.GetResult result = null;
115114
try {

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import org.elasticsearch.search.internal.AliasFilter;
3737
import org.elasticsearch.search.internal.InternalSearchResponse;
3838
import org.elasticsearch.search.internal.SearchContext;
39-
import org.elasticsearch.search.internal.ShardSearchTransportRequest;
39+
import org.elasticsearch.search.internal.ShardSearchRequest;
4040
import org.elasticsearch.transport.Transport;
4141

4242
import java.util.Collections;
@@ -335,14 +335,14 @@ public final void onFailure(Exception e) {
335335
}
336336

337337
@Override
338-
public final ShardSearchTransportRequest buildShardSearchRequest(SearchShardIterator shardIt) {
338+
public final ShardSearchRequest buildShardSearchRequest(SearchShardIterator shardIt) {
339339
AliasFilter filter = aliasFilter.get(shardIt.shardId().getIndex().getUUID());
340340
assert filter != null;
341341
float indexBoost = concreteIndexBoosts.getOrDefault(shardIt.shardId().getIndex().getUUID(), DEFAULT_INDEX_BOOST);
342342
String indexName = shardIt.shardId().getIndex().getName();
343343
final String[] routings = indexRoutings.getOrDefault(indexName, Collections.emptySet())
344344
.toArray(new String[0]);
345-
return new ShardSearchTransportRequest(shardIt.getOriginalIndices(), request, shardIt.shardId(), getNumShards(),
345+
return new ShardSearchRequest(shardIt.getOriginalIndices(), request, shardIt.shardId(), getNumShards(),
346346
filter, indexBoost, timeProvider.getAbsoluteStartMillis(), shardIt.getClusterAlias(), routings);
347347
}
348348

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.elasticsearch.common.Nullable;
2424
import org.elasticsearch.search.SearchShardTarget;
2525
import org.elasticsearch.search.internal.InternalSearchResponse;
26-
import org.elasticsearch.search.internal.ShardSearchTransportRequest;
26+
import org.elasticsearch.search.internal.ShardSearchRequest;
2727
import org.elasticsearch.transport.Transport;
2828

2929
import java.util.concurrent.Executor;
@@ -109,7 +109,7 @@ default void sendReleaseSearchContext(long contextId, Transport.Connection conne
109109
/**
110110
* Builds an request for the initial search phase.
111111
*/
112-
ShardSearchTransportRequest buildShardSearchRequest(SearchShardIterator shardIt);
112+
ShardSearchRequest buildShardSearchRequest(SearchShardIterator shardIt);
113113

114114
/**
115115
* Processes the phase transition from on phase to another. This method handles all errors that happen during the initial run execution

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

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import org.elasticsearch.search.fetch.ShardFetchSearchRequest;
4242
import org.elasticsearch.search.internal.InternalScrollSearchRequest;
4343
import org.elasticsearch.search.internal.ShardSearchRequest;
44-
import org.elasticsearch.search.internal.ShardSearchTransportRequest;
4544
import org.elasticsearch.search.query.QuerySearchRequest;
4645
import org.elasticsearch.search.query.QuerySearchResult;
4746
import org.elasticsearch.search.query.ScrollQuerySearchResult;
@@ -109,7 +108,7 @@ public void sendFreeContext(Transport.Connection connection, long contextId, fin
109108
TransportRequestOptions.EMPTY, new ActionListenerResponseHandler<>(listener, SearchFreeContextResponse::new));
110109
}
111110

112-
public void sendCanMatch(Transport.Connection connection, final ShardSearchTransportRequest request, SearchTask task, final
111+
public void sendCanMatch(Transport.Connection connection, final ShardSearchRequest request, SearchTask task, final
113112
ActionListener<SearchService.CanMatchResponse> listener) {
114113
transportService.sendChildRequest(connection, QUERY_CAN_MATCH_NAME, request, task,
115114
TransportRequestOptions.EMPTY, new ActionListenerResponseHandler<>(listener, SearchService.CanMatchResponse::new));
@@ -120,13 +119,13 @@ public void sendClearAllScrollContexts(Transport.Connection connection, final Ac
120119
TransportRequestOptions.EMPTY, new ActionListenerResponseHandler<>(listener, (in) -> TransportResponse.Empty.INSTANCE));
121120
}
122121

123-
public void sendExecuteDfs(Transport.Connection connection, final ShardSearchTransportRequest request, SearchTask task,
122+
public void sendExecuteDfs(Transport.Connection connection, final ShardSearchRequest request, SearchTask task,
124123
final SearchActionListener<DfsSearchResult> listener) {
125124
transportService.sendChildRequest(connection, DFS_ACTION_NAME, request, task,
126125
new ConnectionCountingHandler<>(listener, DfsSearchResult::new, clientConnections, connection.getNode().getId()));
127126
}
128127

129-
public void sendExecuteQuery(Transport.Connection connection, final ShardSearchTransportRequest request, SearchTask task,
128+
public void sendExecuteQuery(Transport.Connection connection, final ShardSearchRequest request, SearchTask task,
130129
final SearchActionListener<SearchPhaseResult> listener) {
131130
// we optimize this and expect a QueryFetchSearchResult if we only have a single shard in the search request
132131
// this used to be the QUERY_AND_FETCH which doesn't exist anymore.
@@ -306,7 +305,7 @@ public static void registerRequestHandler(TransportService transportService, Sea
306305
TransportActionProxy.registerProxyAction(transportService, CLEAR_SCROLL_CONTEXTS_ACTION_NAME,
307306
(in) -> TransportResponse.Empty.INSTANCE);
308307

309-
transportService.registerRequestHandler(DFS_ACTION_NAME, ThreadPool.Names.SAME, ShardSearchTransportRequest::new,
308+
transportService.registerRequestHandler(DFS_ACTION_NAME, ThreadPool.Names.SAME, ShardSearchRequest::new,
310309
(request, channel, task) -> {
311310
searchService.executeDfsPhase(request, (SearchTask) task, new ActionListener<SearchPhaseResult>() {
312311
@Override
@@ -330,7 +329,7 @@ public void onFailure(Exception e) {
330329
});
331330
TransportActionProxy.registerProxyAction(transportService, DFS_ACTION_NAME, DfsSearchResult::new);
332331

333-
transportService.registerRequestHandler(QUERY_ACTION_NAME, ThreadPool.Names.SAME, ShardSearchTransportRequest::new,
332+
transportService.registerRequestHandler(QUERY_ACTION_NAME, ThreadPool.Names.SAME, ShardSearchRequest::new,
334333
(request, channel, task) -> {
335334
searchService.executeQueryPhase(request, (SearchTask) task, new ChannelActionListener<>(
336335
channel, QUERY_ACTION_NAME, request));
@@ -374,7 +373,7 @@ public void onFailure(Exception e) {
374373
TransportActionProxy.registerProxyAction(transportService, FETCH_ID_ACTION_NAME, FetchSearchResult::new);
375374

376375
// this is cheap, it does not fetch during the rewrite phase, so we can let it quickly execute on a networking thread
377-
transportService.registerRequestHandler(QUERY_CAN_MATCH_NAME, ThreadPool.Names.SAME, ShardSearchTransportRequest::new,
376+
transportService.registerRequestHandler(QUERY_CAN_MATCH_NAME, ThreadPool.Names.SAME, ShardSearchRequest::new,
378377
(request, channel, task) -> {
379378
searchService.canMatch(request, new ChannelActionListener<>(channel, QUERY_CAN_MATCH_NAME, request));
380379
});

0 commit comments

Comments
 (0)