Skip to content

Conversation

craigtaverner
Copy link
Contributor

@craigtaverner craigtaverner commented Oct 19, 2025

Some recent test performance updates flushed out test fragility due to non-thread safety and other concurrency issues with test setup. This PR adds some more resiliency and brings back the performance work. The actual implementation here was extracted from the Views PR at #134995, which, due to early issues in view creation/deleting during test setup was reliably exposing the same errors seen in #134736.

Checklist:

Fixes #134890

@craigtaverner craigtaverner marked this pull request as ready for review October 20, 2025 12:59
@elasticsearchmachine elasticsearchmachine added the needs:triage Requires assignment of a team area label label Oct 20, 2025
@craigtaverner craigtaverner added >non-issue Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) :Analytics/ES|QL AKA ESQL >test Issues or PRs that are addressing/adding tests and removed needs:triage Requires assignment of a team area label >non-issue labels Oct 20, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-analytical-engine (Team:Analytics)

}
}

private static final Protected INGEST = new Protected();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the Views PR we use a separate VIEWS protector, semi-decoupling views from index creation. We could break the index parts into finer grained stuff too, but I see risks with that.

@craigtaverner
Copy link
Contributor Author

Sadly, we already see failures from the parallel data loading. I think the changes to EsqlSpecTestCase do give slightly better error messages, but not enough to determine the underlying cause. I'll do some local investigation to see if I can figure this out, otherwise revert that particular commit, and we deal with parallel data loading separately.

@craigtaverner craigtaverner mentioned this pull request Oct 21, 2025
20 tasks
});
try {
Response remote = remoteResponse.get();
Response local = localResponse.get();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIT: you could use PlainActionFuture instead of anonymous listeners implementations here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/ES|QL AKA ESQL Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) >test Issues or PRs that are addressing/adding tests v9.3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ESQL: re-apply the parallel loading of test data

3 participants