Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion x-pack/plugin/core/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@
exports org.elasticsearch.xpack.core.eql;
exports org.elasticsearch.xpack.core.esql;
exports org.elasticsearch.xpack.core.esql.action;
exports org.elasticsearch.xpack.core.esql.action.internal; // TODO: qualify to esql when modularized
exports org.elasticsearch.xpack.core.frozen;
exports org.elasticsearch.xpack.core.graph.action;
exports org.elasticsearch.xpack.core.graph;
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
import org.elasticsearch.test.ESIntegTestCase;
import org.elasticsearch.xpack.core.ClientHelper;
import org.elasticsearch.xpack.core.esql.action.ColumnInfo;
import org.elasticsearch.xpack.core.esql.action.EsqlQueryRequest;
import org.elasticsearch.xpack.core.esql.action.EsqlQueryRequestBuilder;
import org.elasticsearch.xpack.core.esql.action.EsqlQueryResponse;
import org.elasticsearch.xpack.core.esql.action.EsqlResponse;
import org.elasticsearch.xpack.esql.action.ColumnInfoImpl;
import org.elasticsearch.xpack.esql.action.EsqlQueryAction;
import org.elasticsearch.xpack.esql.action.EsqlQueryRequest;
import org.elasticsearch.xpack.esql.core.type.DataType;
import org.junit.Before;

Expand All @@ -30,6 +30,7 @@

import static java.util.concurrent.TimeUnit.SECONDS;
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
import static org.elasticsearch.xpack.esql.action.EsqlQueryRequest.syncEsqlQueryRequest;
import static org.hamcrest.Matchers.contains;

// A subset of test scenarios exercised through the xpack core ES|QL
Expand All @@ -54,8 +55,7 @@ protected Collection<Class<? extends Plugin>> nodePlugins() {

public void testRowTypesAndValues() {
var query = "row a = 1, b = \"x\", c = 1000000000000, d = 1.1";
var request = EsqlQueryRequestBuilder.newRequestBuilder(client()).query(query);
try (EsqlQueryResponse queryResp = run(request)) {
try (EsqlQueryResponse queryResp = run(syncEsqlQueryRequest(query))) {
logger.info("response=" + queryResp);
EsqlResponse resp = queryResp.response();
assertThat(resp.columns().stream().map(ColumnInfo::name).toList(), contains("a", "b", "c", "d"));
Expand All @@ -69,8 +69,7 @@ public void testRowTypesAndValues() {

public void testRowStatsProjectGroupByInt() {
var query = "row a = 1, b = 2 | stats count(b) by a | keep a";
var request = EsqlQueryRequestBuilder.newRequestBuilder(client()).query(query);
try (var queryResp = run(request)) {
try (var queryResp = run(syncEsqlQueryRequest(query))) {
logger.info("response=" + queryResp);
var resp = queryResp.response();
assertThat(resp.columns().stream().map(ColumnInfo::name).toList(), contains("a"));
Expand All @@ -81,8 +80,7 @@ public void testRowStatsProjectGroupByInt() {

public void testFrom() {
var query = "from test | keep item, cost, color, sale | sort item";
var request = EsqlQueryRequestBuilder.newRequestBuilder(client()).query(query);
try (var queryResp = run(request)) {
try (var queryResp = run(syncEsqlQueryRequest(query))) {
var resp = queryResp.response();
logger.info("response=" + queryResp);
assertThat(resp.columns().stream().map(ColumnInfo::name).toList(), contains("item", "cost", "color", "sale"));
Expand All @@ -108,8 +106,7 @@ public void testFrom() {
public void testAccessAfterClose() {
for (var closedQueryResp : new boolean[] { true, false }) {
var query = "row a = 1";
var request = EsqlQueryRequestBuilder.newRequestBuilder(client()).query(query);
var queryResp = run(request);
var queryResp = run(syncEsqlQueryRequest(query));
var resp = queryResp.response();
var rows = resp.rows();
var rowItr = rows.iterator();
Expand All @@ -136,19 +133,17 @@ public void testAccessAfterClose() {
}
}

protected EsqlQueryResponse run(EsqlQueryRequestBuilder<? extends EsqlQueryRequest, ? extends EsqlQueryResponse> request) {
protected EsqlQueryResponse run(EsqlQueryRequest request) {
try {
// The variants here ensure API usage patterns
if (randomBoolean()) {
return request.execute().actionGet(30, SECONDS);
} else if (randomBoolean()) {
return client().execute(request.action(), request.request()).actionGet(30, SECONDS);
return client().execute(EsqlQueryAction.INSTANCE, request).actionGet(30, SECONDS);
} else {
return ClientHelper.executeWithHeaders(
Map.of("Foo", "bar"),
"origin",
client(),
() -> request.execute().actionGet(30, SECONDS)
() -> client().execute(EsqlQueryAction.INSTANCE, request).actionGet(30, SECONDS)
);
}
} catch (ElasticsearchTimeoutException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,8 +348,7 @@ protected EsqlQueryResponse runQuery(EsqlQueryRequest request) {
}

protected EsqlQueryResponse runQuery(String query, Boolean ccsMetadataInResponse) {
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest();
request.query(query);
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest(query);
request.pragmas(AbstractEsqlIntegTestCase.randomPragmas());
request.profile(randomInt(5) == 2);
request.columnar(randomBoolean());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,7 @@ public void setupQueryNode() {
}

protected CCSTelemetrySnapshot getTelemetryFromQuery(String query, String client) throws ExecutionException, InterruptedException {
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest();
request.query(query);
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest(query);
request.pragmas(AbstractEsqlIntegTestCase.randomPragmas());
request.columnar(randomBoolean());
request.includeCCSMetadata(randomBoolean());
Expand All @@ -78,8 +77,7 @@ protected CCSTelemetrySnapshot getTelemetryFromQuery(EsqlQueryRequest request, S
}

protected CCSTelemetrySnapshot getTelemetryFromAsyncQuery(String query) throws Exception {
EsqlQueryRequest request = EsqlQueryRequest.asyncEsqlQueryRequest();
request.query(query);
EsqlQueryRequest request = EsqlQueryRequest.asyncEsqlQueryRequest(query);
request.pragmas(AbstractEsqlIntegTestCase.randomPragmas());
request.columnar(randomBoolean());
request.includeCCSMetadata(randomBoolean());
Expand Down Expand Up @@ -111,9 +109,8 @@ protected CCSTelemetrySnapshot getTelemetryFromAsyncQuery(EsqlQueryRequest reque
return getTelemetrySnapshot(queryNode);
}

protected CCSTelemetrySnapshot getTelemetryFromFailedQuery(String query) throws Exception {
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest();
request.query(query);
protected CCSTelemetrySnapshot getTelemetryFromFailedQuery(String query) {
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest(query);
request.pragmas(AbstractEsqlIntegTestCase.randomPragmas());
request.columnar(randomBoolean());
request.includeCCSMetadata(randomBoolean());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,8 +243,7 @@ static String enrichVendors(Enrich.Mode mode) {
}

protected EsqlQueryResponse runQuery(String query, Boolean ccsMetadataInResponse) {
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest();
request.query(query);
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest(query);
request.pragmas(AbstractEsqlIntegTestCase.randomPragmas());
if (randomBoolean()) {
request.profile(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ protected void setRequestCircuitBreakerLimit(ByteSizeValue limit) {
}

protected final EsqlQueryResponse run(String esqlCommands) {
return run(syncEsqlQueryRequest().query(esqlCommands).pragmas(getPragmas()));
return run(syncEsqlQueryRequest(esqlCommands).pragmas(getPragmas()));
}

/** A hook for overriding. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
import static org.elasticsearch.test.hamcrest.OptionalMatchers.isEmpty;
import static org.elasticsearch.test.hamcrest.OptionalMatchers.isPresent;
import static org.elasticsearch.xpack.esql.EsqlTestUtils.getValuesList;
import static org.elasticsearch.xpack.esql.action.EsqlQueryRequest.asyncEsqlQueryRequest;
import static org.hamcrest.Matchers.empty;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
Expand Down Expand Up @@ -234,14 +235,12 @@ private void testFinishingBeforeTimeout(boolean keepOnCompletion) {

scriptPermits.release(numberOfDocs());

var request = EsqlQueryRequestBuilder.newAsyncEsqlQueryRequestBuilder(client())
.query("from test | stats sum(pause_me)")
.pragmas(queryPragmas())
var request = asyncEsqlQueryRequest("from test | stats sum(pause_me)").pragmas(queryPragmas())
.waitForCompletionTimeout(TimeValue.timeValueSeconds(60))
.keepOnCompletion(keepOnCompletion)
.keepAlive(randomKeepAlive());

try (var response = request.execute().actionGet(60, TimeUnit.SECONDS)) {
try (var response = client().execute(EsqlQueryAction.INSTANCE, request).actionGet(60, TimeUnit.SECONDS)) {
assertThat(response.isRunning(), is(false));
assertThat(response.columns(), equalTo(List.of(new ColumnInfoImpl("sum(pause_me)", "long", null))));
assertThat(getValuesList(response).size(), equalTo(1));
Expand Down Expand Up @@ -270,16 +269,14 @@ private void testFinishingBeforeTimeout(boolean keepOnCompletion) {
public void testUpdateKeepAlive() throws Exception {
long nowInMillis = System.currentTimeMillis();
TimeValue keepAlive = timeValueSeconds(between(30, 60));
var request = EsqlQueryRequestBuilder.newAsyncEsqlQueryRequestBuilder(client())
.query("from test | stats sum(pause_me)")
.pragmas(queryPragmas())
var request = asyncEsqlQueryRequest("from test | stats sum(pause_me)").pragmas(queryPragmas())
.waitForCompletionTimeout(TimeValue.timeValueMillis(between(1, 10)))
.keepOnCompletion(randomBoolean())
.keepAlive(keepAlive);
final String asyncId;
long currentExpiration;
try {
try (EsqlQueryResponse initialResponse = request.execute().actionGet(60, TimeUnit.SECONDS)) {
try (EsqlQueryResponse initialResponse = client().execute(EsqlQueryAction.INSTANCE, request).actionGet(60, TimeUnit.SECONDS)) {
assertThat(initialResponse.isRunning(), is(true));
assertTrue(initialResponse.asyncExecutionId().isPresent());
asyncId = initialResponse.asyncExecutionId().get();
Expand Down Expand Up @@ -373,15 +370,14 @@ private EsqlQueryResponse sendAsyncQuery() {

scriptPermits.release(between(1, 5));
var pragmas = queryPragmas();
return EsqlQueryRequestBuilder.newAsyncEsqlQueryRequestBuilder(client())
.query("from test | stats sum(pause_me)")
.pragmas(pragmas)
// deliberately small timeout, to frequently trigger incomplete response
.waitForCompletionTimeout(TimeValue.timeValueNanos(randomIntBetween(1, 20)))
.keepOnCompletion(randomBoolean())
.keepAlive(randomKeepAlive())
.execute()
.actionGet(60, TimeUnit.SECONDS);
return client().execute(
EsqlQueryAction.INSTANCE,
asyncEsqlQueryRequest("from test | stats sum(pause_me)").pragmas(pragmas)
// deliberately small timeout, to frequently trigger incomplete response
.waitForCompletionTimeout(TimeValue.timeValueNanos(randomIntBetween(1, 20)))
.keepOnCompletion(randomBoolean())
.keepAlive(randomKeepAlive())
).actionGet(60, TimeUnit.SECONDS);
}

private QueryPragmas queryPragmas() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@

import static org.elasticsearch.xpack.esql.EsqlTestUtils.getValuesList;
import static org.elasticsearch.xpack.esql.action.AbstractEsqlIntegTestCase.randomPragmas;
import static org.elasticsearch.xpack.esql.action.EsqlQueryRequest.syncEsqlQueryRequest;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
Expand Down Expand Up @@ -83,10 +84,8 @@ private void createRemoteIndex(int numDocs) throws Exception {

public void testCancel() throws Exception {
createRemoteIndex(between(10, 100));
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest();
String stats = randomStats();
request.query("FROM *:test | " + stats + " total=sum(const) | LIMIT 1");
request.pragmas(randomPragmas());
EsqlQueryRequest request = syncEsqlQueryRequest("FROM *:test | " + stats + " total=sum(const) | LIMIT 1").pragmas(randomPragmas());
PlainActionFuture<EsqlQueryResponse> requestFuture = new PlainActionFuture<>();
client().execute(EsqlQueryAction.INSTANCE, request, requestFuture);
assertTrue(SimplePauseFieldPlugin.startEmitting.await(30, TimeUnit.SECONDS));
Expand Down Expand Up @@ -128,9 +127,7 @@ public void testSameRemoteClusters() throws Exception {
}
int numDocs = between(10, 100);
createRemoteIndex(numDocs);
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest();
request.query("FROM *:test | STATS total=sum(const) | LIMIT 1");
request.pragmas(randomPragmas());
EsqlQueryRequest request = syncEsqlQueryRequest("FROM *:test | STATS total=sum(const) | LIMIT 1").pragmas(randomPragmas());
ActionFuture<EsqlQueryResponse> future = client().execute(EsqlQueryAction.INSTANCE, request);
try {
try {
Expand Down Expand Up @@ -161,10 +158,8 @@ public void testSameRemoteClusters() throws Exception {

public void testTasks() throws Exception {
createRemoteIndex(between(10, 100));
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest();
String stats = randomStats();
request.query("FROM *:test | " + stats + " total=sum(const) | LIMIT 1");
request.pragmas(randomPragmas());
EsqlQueryRequest request = syncEsqlQueryRequest("FROM *:test | " + stats + " total=sum(const) | LIMIT 1").pragmas(randomPragmas());
ActionFuture<EsqlQueryResponse> requestFuture = client().execute(EsqlQueryAction.INSTANCE, request);
assertTrue(SimplePauseFieldPlugin.startEmitting.await(30, TimeUnit.SECONDS));
try {
Expand Down Expand Up @@ -200,10 +195,8 @@ public void testTasks() throws Exception {
// Check that cancelling remote task with skip_unavailable=true produces failure
public void testCancelSkipUnavailable() throws Exception {
createRemoteIndex(between(10, 100));
EsqlQueryRequest request = EsqlQueryRequest.syncEsqlQueryRequest();
String stats = randomStats();
request.query("FROM *:test | " + stats + " total=sum(const) | LIMIT 1");
request.pragmas(randomPragmas());
EsqlQueryRequest request = syncEsqlQueryRequest("FROM *:test | " + stats + " total=sum(const) | LIMIT 1").pragmas(randomPragmas());
request.includeCCSMetadata(true);
PlainActionFuture<EsqlQueryResponse> requestFuture = new PlainActionFuture<>();
client().execute(EsqlQueryAction.INSTANCE, request, requestFuture);
Expand Down
Loading