Node level can match action (#78765)

Changes can-match from a shard-level to a node-level action, which helps avoid an explosion of shard-level can-match
subrequests in clusters with many shards, that can cause stability issues. Also introduces a new search_coordination
thread pool to handle the sending and handling of node-level can-match requests.
This commit is contained in:
Yannick Welsch 2021-10-18 10:13:44 +02:00 committed by GitHub
parent b1c3f5579e
commit 13487b1ed6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 1180 additions and 445 deletions

View file

@ -724,7 +724,11 @@ public class CCSDuelIT extends ESRestTestCase {
private static SearchRequest initSearchRequest() {
List<String> indices = Arrays.asList(INDEX_NAME, "my_remote_cluster:" + INDEX_NAME);
Collections.shuffle(indices, random());
return new SearchRequest(indices.toArray(new String[0]));
final SearchRequest request = new SearchRequest(indices.toArray(new String[0]));
if (randomBoolean()) {
request.setPreFilterShardSize(between(1, 20));
}
return request;
}
private static void duelSearch(SearchRequest searchRequest, Consumer<SearchResponse> responseChecker) throws Exception {