Skip to content

Commit 0700b24

Browse files
Create some general test utilities (#127407)
Moving around and adding some test utilities.
1 parent 677ab35 commit 0700b24

File tree

3 files changed

+21
-15
lines changed

3 files changed

+21
-15
lines changed

qa/smoke-test-http/src/internalClusterTest/java/org/elasticsearch/http/SearchRestCancellationIT.java

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import org.apache.http.nio.entity.NByteArrayEntity;
1313
import org.apache.logging.log4j.LogManager;
1414
import org.apache.lucene.util.SetOnce;
15-
import org.elasticsearch.action.admin.cluster.node.info.NodeInfo;
16-
import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse;
1715
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksResponse;
1816
import org.elasticsearch.action.bulk.BulkRequestBuilder;
1917
import org.elasticsearch.action.search.MultiSearchRequest;
@@ -46,7 +44,6 @@
4644
import java.util.ArrayList;
4745
import java.util.Collection;
4846
import java.util.Collections;
49-
import java.util.HashMap;
5047
import java.util.List;
5148
import java.util.Map;
5249
import java.util.concurrent.CancellationException;
@@ -94,7 +91,7 @@ public void testAutomaticCancellationMultiSearchDuringQueryPhase() throws Except
9491
}
9592

9693
void verifyCancellationDuringQueryPhase(String searchAction, Request searchRequest) throws Exception {
97-
Map<String, String> nodeIdToName = readNodesInfo();
94+
Map<String, String> nodeIdToName = nodeIdsToNames();
9895

9996
List<ScriptedBlockPlugin> plugins = initBlockFactory();
10097
indexTestData();
@@ -137,7 +134,7 @@ public void testAutomaticCancellationMultiSearchDuringFetchPhase() throws Except
137134
}
138135

139136
void verifyCancellationDuringFetchPhase(String searchAction, Request searchRequest) throws Exception {
140-
Map<String, String> nodeIdToName = readNodesInfo();
137+
Map<String, String> nodeIdToName = nodeIdsToNames();
141138

142139
List<ScriptedBlockPlugin> plugins = initBlockFactory();
143140
indexTestData();
@@ -153,16 +150,6 @@ void verifyCancellationDuringFetchPhase(String searchAction, Request searchReque
153150
expectThrows(CancellationException.class, future::actionGet);
154151
}
155152

156-
private static Map<String, String> readNodesInfo() {
157-
Map<String, String> nodeIdToName = new HashMap<>();
158-
NodesInfoResponse nodesInfoResponse = clusterAdmin().prepareNodesInfo().get();
159-
assertFalse(nodesInfoResponse.hasFailures());
160-
for (NodeInfo node : nodesInfoResponse.getNodes()) {
161-
nodeIdToName.put(node.getNode().getId(), node.getNode().getName());
162-
}
163-
return nodeIdToName;
164-
}
165-
166153
private static void ensureSearchTaskIsCancelled(String transportAction, Function<String, String> nodeIdToName) throws Exception {
167154
SetOnce<TaskInfo> searchTask = new SetOnce<>();
168155
ListTasksResponse listTasksResponse = clusterAdmin().prepareListTasks().get();

test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@
193193
import java.util.Arrays;
194194
import java.util.Collection;
195195
import java.util.Collections;
196+
import java.util.HashMap;
196197
import java.util.HashSet;
197198
import java.util.IdentityHashMap;
198199
import java.util.List;
@@ -1207,6 +1208,19 @@ public static String getNodeId(String nodeName) {
12071208
return internalCluster().getInstance(ClusterService.class, nodeName).localNode().getId();
12081209
}
12091210

1211+
/**
1212+
* @return A map of the cluster node Ids to their node names.
1213+
*/
1214+
public static Map<String, String> nodeIdsToNames() {
1215+
var names = internalCluster().getNodeNames();
1216+
Map<String, String> nodeIdsToNames = new HashMap<>();
1217+
for (var name : names) {
1218+
nodeIdsToNames.put(getNodeId(name), name);
1219+
}
1220+
return nodeIdsToNames;
1221+
1222+
}
1223+
12101224
/**
12111225
* Waits until at least a give number of document is visible for searchers
12121226
*

test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2314,6 +2314,11 @@ public int numMasterNodes() {
23142314
return filterNodes(nodes, NodeAndClient::isMasterEligible).size();
23152315
}
23162316

2317+
public Set<String> masterEligibleNodeNames() {
2318+
var masterEligibleNodes = filterNodes(nodes, NodeAndClient::isMasterEligible);
2319+
return masterEligibleNodes.stream().map(nodeAndClient -> nodeAndClient.name).collect(Collectors.toSet());
2320+
}
2321+
23172322
public void setDisruptionScheme(ServiceDisruptionScheme scheme) {
23182323
assert activeDisruptionScheme == null
23192324
: "there is already and active disruption [" + activeDisruptionScheme + "]. call clearDisruptionScheme first";

0 commit comments

Comments
 (0)