elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.76k stars 8.17k forks source link

Cache query delay settings in the alerting task runner #184321

Closed mikecote closed 2 weeks ago

mikecote commented 4 months ago

Similar to https://github.com/elastic/kibana/issues/149884, we shouldn't load the query delay settings on every rule run. Instead, we should cache the result for a period of time before going back to update the settings. This way running many rules in a short timeframe will not cause a large numbers of i/o to Elasticsearch to get the same value.

elasticmachine commented 4 months ago

Pinging @elastic/response-ops (Team:ResponseOps)

pmuellr commented 4 months ago

I opened an issue a while back against the SO framework to provide a "cheap" exists operation - https://github.com/elastic/kibana/issues/148351 . Not really applicable directly to this issue, but perhaps there is something we could do at the SO level to help out here. An operation to only do the get if the doc has changed, otherwise return an indication it hasn't changed. Kinda thing.

If this were HTTP, we could use something like ETag and the If-None-Match header, to always make the request, but it's "fast" if the doc hasn't changed, and returns a status (with no body and a 304 Not Modified status). I don't think such things are possible in ES, but not sure.