Skip to content

Commit 6149681

Browse files
committed
Reapply "Re-enable some performance updates to ES|QL spec tests after resilience improvement to EsqlSpecTestCase (elastic#136781)" (elastic#137589)
This reverts commit 8e4ad76.
1 parent 557aeaa commit 6149681

File tree

1 file changed

+39
-4
lines changed
  • x-pack/plugin/esql/qa/server/multi-clusters/src/javaRestTest/java/org/elasticsearch/xpack/esql/ccq

1 file changed

+39
-4
lines changed

x-pack/plugin/esql/qa/server/multi-clusters/src/javaRestTest/java/org/elasticsearch/xpack/esql/ccq/MultiClusterSpecIT.java

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -253,10 +253,7 @@ static RestClient twoClients(RestClient localClient, RestClient remoteClient) th
253253
return bulkClient.performRequest(request);
254254
} else {
255255
Request[] clones = cloneRequests(request, 2);
256-
Response resp1 = remoteClient.performRequest(clones[0]);
257-
Response resp2 = localClient.performRequest(clones[1]);
258-
assertEquals(resp1.getStatusLine().getStatusCode(), resp2.getStatusLine().getStatusCode());
259-
return resp2;
256+
return runInParallel(localClient, remoteClient, clones);
260257
}
261258
});
262259
doAnswer(invocation -> {
@@ -291,6 +288,44 @@ static Request[] cloneRequests(Request orig, int numClones) throws IOException {
291288
return clones;
292289
}
293290

291+
/**
292+
* Run {@link #cloneRequests cloned} requests in parallel.
293+
*/
294+
static Response runInParallel(RestClient localClient, RestClient remoteClient, Request[] clones) throws Throwable {
295+
CompletableFuture<Response> remoteResponse = new CompletableFuture<>();
296+
CompletableFuture<Response> localResponse = new CompletableFuture<>();
297+
remoteClient.performRequestAsync(clones[0], new ResponseListener() {
298+
@Override
299+
public void onSuccess(Response response) {
300+
remoteResponse.complete(response);
301+
}
302+
303+
@Override
304+
public void onFailure(Exception exception) {
305+
remoteResponse.completeExceptionally(exception);
306+
}
307+
});
308+
localClient.performRequestAsync(clones[1], new ResponseListener() {
309+
@Override
310+
public void onSuccess(Response response) {
311+
localResponse.complete(response);
312+
}
313+
314+
@Override
315+
public void onFailure(Exception exception) {
316+
localResponse.completeExceptionally(exception);
317+
}
318+
});
319+
try {
320+
Response remote = remoteResponse.get();
321+
Response local = localResponse.get();
322+
assertEquals(remote.getStatusLine().getStatusCode(), local.getStatusLine().getStatusCode());
323+
return local;
324+
} catch (ExecutionException e) {
325+
throw e.getCause();
326+
}
327+
}
328+
294329
/**
295330
* Convert FROM employees ... => FROM *:employees,employees
296331
*/

0 commit comments

Comments
 (0)