Currently deployed: OpenSearch v2.3
Configuration clarification: To ensure a clear understanding of our global search configuration for a given cluster, I want to clarify that the following is correctly stated:
-
The
search.cancel_after_time_interval
(which defaults to 300s) configures at the shard level termination of a query after 300s if a query has not yet completed; with regard to thesearch.low_level_cancellation
default oftrue
. -
The
search.default_search_timeout
configures at the shard level the maximum time to wait for a query to complete before returning a 408 request timeout to the coordinating node; without regard to thesearch.cancel_after_time_interval
setting. As such, if thesearch.default_search_timeout
is configured to be a positive value (instead of the default of -1), it should be a value less than thesearch.cancel_after_time_interval
. -
The
search.keep_alive_interval
is the interval at which the coordinating node will send a TCP keep alive to a shard/data node while thesearch.default_keep_alive
andsearch.max_keep_alive
are configured at the shard level/data node level. -
The
search.max_keep_alive
global value overrides any keep alive setting that may be included in the query.
I appreciate any clarifications you can provide. The documentation is somewhat helpful, but I haven’t found a lot of straight forward detail specific to the settings above. I’m making some assumptions and I have run into trouble making assumptions in the past.
Thank you.
Max