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

Support for Elasticsearch point-in-time API #80406

Closed
4 tasks
lukasolson opened this issue Oct 13, 2020 · 8 comments
Closed
4 tasks

Support for Elasticsearch point-in-time API #80406

lukasolson opened this issue Oct 13, 2020 · 8 comments
Labels
discuss Feature:Search Sessions Feature:Search Querying infrastructure in Kibana Icebox impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:x-large Extra Large Level of Effort Meta Team:DataDiscovery Discover, search (e.g. data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL. Team:Visualizations Visualization editors, elastic-charts and infrastructure

Comments

@lukasolson
Copy link
Member

lukasolson commented Oct 13, 2020

In 7.10, Elasticsearch released the point-in-time API. This is a meta issue to discuss where/how we can use the API to enhance the experience in Kibana.

A couple of places where we might benefit from using the PIT API:

Steps

@lukasolson lukasolson added Feature:Search Querying infrastructure in Kibana discuss Team:Visualizations Visualization editors, elastic-charts and infrastructure Team:AppArch labels Oct 13, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app (Team:KibanaApp)

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-arch (Team:AppArch)

@lukeelmers
Copy link
Member

In 7.12, saved objects find supports using a PIT with search_after for paging through results (on the server only). I believe this is the first place we've used PIT in Kibana.

Also as a general PSA, we chatted with the ES team again to learn more about performance implications in using PIT. Overall the guidance is still that they're low impact, however we learned that keeping a PIT open unnecessarily can create a fair amount of overhead if your index is changing frequently as it can delay the ability to perform a merge process to free up resources -- So it is always preferred to explicitly close a PIT when you are done with it rather than waiting for the keep_alive to expire.

@exalate-issue-sync exalate-issue-sync bot added impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort labels Apr 26, 2021
@lizozom
Copy link
Contributor

lizozom commented Apr 28, 2021

I suggest we implement PIT as part of Search Sessions, as a mean of synchronizing all of the searches in that session.
This would also be helpful for client side caching (all requests are cached with their PIT).

If we do so, we could sent a PIT start request when we receive the first search for the current session (batching and holding on to any additional requests until we get a PIT id) and then sending all requests with the PIT id set.

We should also think about the keepalives and cleaning up the PITs when all searches are done.

@lukeelmers
Copy link
Member

We should also think about the keepalives and cleaning up the PITs when all searches are done.

++ I would definitely recommend doing some performance testing if you end up using PIT for search sessions and need to keep PITs alive for long-running async searches. Since it still introduces some overhead in ES, it would be good to verify that a bunch of search sessions piling up and opening a ton of long-lived PITs doesn't make things worse.

@exalate-issue-sync exalate-issue-sync bot added loe:x-large Extra Large Level of Effort and removed loe:weeks labels Dec 14, 2021
@petrklapka petrklapka added Team:DataDiscovery Discover, search (e.g. data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL. and removed Team:AppServicesSv labels Nov 21, 2022
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-data-discovery (Team:DataDiscovery)

@lukasolson
Copy link
Member Author

Related: #134232

@kertal
Copy link
Member

kertal commented Oct 30, 2023

Closing this because it's not planned to be resolved in the foreseeable future. It will be tracked in our Icebox and will be re-opened if our priorities change. Feel free to re-open if you think it should be melted sooner.

@kertal kertal added the Icebox label Oct 30, 2023
@kertal kertal closed this as not planned Won't fix, can't repro, duplicate, stale Oct 30, 2023
@github-project-automation github-project-automation bot moved this to Done in current release in kibana-app-arch Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Feature:Search Sessions Feature:Search Querying infrastructure in Kibana Icebox impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:x-large Extra Large Level of Effort Meta Team:DataDiscovery Discover, search (e.g. data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL. Team:Visualizations Visualization editors, elastic-charts and infrastructure
Projects
Status: Done in current release
Development

No branches or pull requests

8 participants