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

Async search support for cross cluster search minimize round trip optimization #73971

Closed
Tracked by #88658
ppf2 opened this issue Jun 9, 2021 · 4 comments
Closed
Tracked by #88658
Assignees
Labels
>enhancement :Search/Search Search-related issues that do not fall into other categories Team:Search Meta label for search team

Comments

@ppf2
Copy link
Member

ppf2 commented Jun 9, 2021

Async search does not currently support minimize roundtrip optimization when used with cross cluster search. This is a documented limitation.

With Kibana now using async searches by default, this could cause performance issues in some environments that use cross cluster search with slower/inconsistent network latency. One workaround is to enable the deprecated advanced setting courier:batchSearches in Kibana which will switch Kibana back to using the old way of querying Elasticsearch via msearch (but this option is slated for removal in 8.0).

@javanna javanna added :Search/Search Search-related issues that do not fall into other categories team-discuss labels Jun 15, 2021
@elasticmachine elasticmachine added the Team:Search Meta label for search team label Jun 15, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-search (Team:Search)

@quux00 quux00 self-assigned this May 18, 2023
quux00 added a commit that referenced this issue Jun 1, 2023
* Support CCS minimize round trips in async search

This commit makes the smallest set of changes to allow async-search based cross-cluster search
to work with the CCS minimize_round_trips feature without changing the internals/architecture of
the search action.

When ccsMinimizeRoundtrips is set to true on SubmitAsyncSearchRequest, the AsyncSearchTask on the
primary CCS coordinator sends a synchronous SearchRequest to all to clusters for a remote coordinator
to orchestrate and return the entire result set to the CCS coordinator as a single response.

This is the same functionality provided by synchronous CCS search using minimize_roundtrips.
Since this is an async search, it means that the async search coordinator has no visibility
into search progress on the remote clusters while they are running the search, thus losing one of
the key features of async search. However, this is a good first approach for improving overall search
latency for cross cluster searches that query a large number of shards on remote clusters, since
Kibana does not currently expose incremental progress of an async search to users.

Relates #73971
@javanna
Copy link
Member

javanna commented Jun 9, 2023

@quux00 can this be closed?

quux00 added a commit to quux00/elasticsearch that referenced this issue Jun 9, 2023
Kibana will start using this feature once this merges.
Closes elastic#73971
@quux00
Copy link
Contributor

quux00 commented Jun 10, 2023

I was planning on waiting to hear back from the Kibana team on whether they will make it their default or whether we need to do that on the backend before closing this. But I'll go ahead and close it and we can reopen if need be.

@quux00 quux00 closed this as completed Jun 10, 2023
@quux00
Copy link
Contributor

quux00 commented Jul 1, 2023

Kibana has changed to use ccs_minimize_roundtrips=true now. PR: elastic/kibana#159848

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>enhancement :Search/Search Search-related issues that do not fall into other categories Team:Search Meta label for search team
Projects
None yet
Development

No branches or pull requests

6 participants