-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Simplify ES|QL execution info #120418
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplify ES|QL execution info #120418
Conversation
134de75 to
0c24e2a
Compare
|
Pinging @elastic/es-analytical-engine (Team:Analytics) |
|
I've started reviewing, but can we hold off merging until Stas' PR merges, as we want to get those features in 8.18 - then this refactoring will need to encompass those changes as well. |
|
@quux00 I think either PR can be merged first. If this one gets merged first, I can help update Stas' PR, which should be quick. I'll need this change for the retry implementation. Thanks! |
|
@quux00 @smalyshev We need this PR to fix an issue in Stas's PR, so it needs to be merged first. Once it's in, I'll update Stas's PR. |
quux00
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very clean and elegant refactoring. I left one comment so far. I plan to go over it again and make sure I get the flow.
| profiles, | ||
| took, | ||
| dataNodeResult.totalShards(), | ||
| dataNodeResult.totalShards() - dataNodeResult.skippedShards(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In _search, I believe skipped shards are also considered successful. Do we want to preserve that behavior in ES|QL or have this new model?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
++ I pushed 73bb319
| * of ESQL that does not record and return CCS metadata. Ensure that the local cluster {@link EsqlExecutionInfo} | ||
| * is properly updated with took time and shard info is left unset. | ||
| */ | ||
| public void testAcquireComputeCCSListenerWithComputeResponseFromOlderCluster() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need some variant of this test even with the new refactored code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we don't need these tests in the ComputerListener. I'll try adding unit tests for the ClusterComputeHandler instead. Can I defer this to a follow-up to unblock Stas's PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, sounds good. I approved the PR.
quux00
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing this!
|
@quux00 Thanks for reviewing. |
💚 Backport successful
|
Currently, ES|QL ExecutionInfo is updated in multiple places: on remote clusters, during the execution of data-node requests, in compute listeners, and on the coordinator node. This change consolidates updates to happen only on the coordinator, when receiving compute responses. This change should also make the compute listener easier to understand
Currently, ES|QL ExecutionInfo is updated in multiple places: on remote clusters, during the execution of data-node requests, in compute listeners, and on the coordinator node. This change consolidates updates to happen only on the coordinator, when receiving compute responses. This change should also make the compute listener easier to understand
Currently, ES|QL ExecutionInfo is updated in multiple places: on remote clusters, during the execution of data-node requests, in compute listeners, and on the coordinator node. This change consolidates updates to happen only on the coordinator, when receiving compute responses. This change should also make the compute listener easier to understand.