Skip to content
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

Cluster-level reduction for ES|QL #111979

Closed
dnhatn opened this issue Aug 19, 2024 · 2 comments
Closed

Cluster-level reduction for ES|QL #111979

dnhatn opened this issue Aug 19, 2024 · 2 comments
Labels
:Analytics/ES|QL AKA ESQL Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo)

Comments

@dnhatn
Copy link
Member

dnhatn commented Aug 19, 2024

Remote clusters can be located in different regions or zones, with high latency transport requests. For instance, the latency between us-west and eu-west can exceed 100ms. When using the _search API with CCS and ccs_minimized_roundtrips=true, only one cross-cluster transport request is needed per remote cluster. However, ES|QL with CCS requires multiple cross-cluster transport requests, including field-caps requests, cluster-compute requests, and exchange requests.

I investigated an issue where a remote cluster generated 70 small pages, with a latency greater than 120ms between clusters. Given that we have three concurrent clients fetching pages, this process alone could take more than 2.8 seconds (70/3 * 120ms).

Node-level reduction should help alleviate this problem, but it is currently disabled by default and only enabled in snapshot builds. And if the remote cluster targets a large number of nodes, cluster-level reduction will be necessary to avoid latency issues. The implementation of cluster-level reduction can be similar to that of node-level reduction. However, the implementation should also consider the trade-off between reducing latency and avoiding duplicate work on both the coordinator in the querying cluster and the remote clusters.

@dnhatn dnhatn added the :Analytics/ES|QL AKA ESQL label Aug 19, 2024
@elasticsearchmachine
Copy link
Collaborator

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

@elasticsearchmachine elasticsearchmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Aug 19, 2024
@dnhatn
Copy link
Member Author

dnhatn commented Jan 7, 2025

Implemented in #117731

@dnhatn dnhatn closed this as completed Jan 7, 2025
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)
Projects
None yet
Development

No branches or pull requests

2 participants