Skip to content

Conversation

@AlexGPlay
Copy link
Contributor

@AlexGPlay AlexGPlay commented Nov 12, 2025

Closes #137672

Run from Kibana:

Before After
Fast search image image
Polling search image image
Polling completed search image image

  • Have you signed the contributor license agreement?
  • Have you followed the contributor guidelines?
  • If submitting code, have you built your formula locally prior to submission with gradle check?
  • If submitting code, is your pull request against main? Unless there is a good reason otherwise, we prefer pull requests against main and will backport as needed.
  • If submitting code, have you checked that your submission is for an OS and architecture that we support?
  • If you are submitting this code for a class then read our policy for that.

@elasticsearchmachine elasticsearchmachine added v9.3.0 external-contributor Pull request authored by a developer outside the Elasticsearch team labels Nov 12, 2025
@kertal
Copy link
Member

kertal commented Nov 14, 2025

@nik9000 @alex-spies if you have some time, could you give this a quick look to figure out if this draft would look good to you? @AlexGPlay of @elastic/kibana-data-discovery in a exploration phase created this draft, that would help us with our background search effort 🙏

Copy link
Contributor

@luigidellaquila luigidellaquila left a comment

Choose a reason for hiding this comment

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

Thanks @AlexGPlay
It looks good in general, but it needs some BWC checks, see my comments below.

long valuesLoaded = supportsValuesLoaded(in.getTransportVersion()) ? in.readVLong() : 0;
Profile profile = in.readOptionalWriteable(Profile::readFrom);
boolean columnar = in.readBoolean();
long startTimeMillis = in.readLong();
Copy link
Contributor

Choose a reason for hiding this comment

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

This needs a TransportVersion check, for bwc.
You'll need to define a new TransportVersion constant (see this) and then you'll have to add a check like

if(in.getTransportVersion().supports(YOUR_NEW_CONSTANT_NAME_HERE)) {
// ... read the values 
} else {
//  ... some defaults...?

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

thank you! I'll update with this

}
out.writeOptionalWriteable(profile);
out.writeBoolean(columnar);
out.writeLong(startTimeMillis);
Copy link
Contributor

Choose a reason for hiding this comment

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

Same here, this needs a TransportVersion check

@AlexGPlay
Copy link
Contributor Author

@luigidellaquila i've added the TransportVersion and moved all the fields behind a check for the response in case they are not populated, happy to update if that's not the expected pattern 494a55f

@luigidellaquila
Copy link
Contributor

Thanks @AlexGPlay, the implementation looks good.
You still have quite a few BWC test failures, due to the fact that now you have new fields, that the old nodes don't recognize.
To fix them, you'll need to declare a new EsqlCapability and use it to run the test conditionally, eg. see https://github.com/elastic/elasticsearch/blob/main/x-pack/plugin/esql/qa/server/src/main/java/org/elasticsearch/xpack/esql/qa/rest/FieldExtractorTestCase.java#L1366

Copy link
Contributor

@luigidellaquila luigidellaquila left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @AlexGPlay!

@AlexGPlay AlexGPlay marked this pull request as ready for review November 26, 2025 10:06
@elasticsearchmachine elasticsearchmachine added the needs:triage Requires assignment of a team area label label Nov 26, 2025
@elasticsearchmachine elasticsearchmachine added Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) and removed needs:triage Requires assignment of a team area label labels Nov 26, 2025
@elasticsearchmachine
Copy link
Collaborator

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

@AlexGPlay AlexGPlay merged commit 0a94dc0 into elastic:main Nov 26, 2025
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/ES|QL AKA ESQL >enhancement external-contributor Pull request authored by a developer outside the Elasticsearch team Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v9.3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ES|QL] Add informative timestamps to async queries

4 participants