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:
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 the
search.default_search_timeoutconfigures 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 the
search.cancel_after_time_intervalsetting. As such, if the
search.default_search_timeoutis configured to be a positive value (instead of the default of -1), it should be a value less than the
search.keep_alive_intervalis the interval at which the coordinating node will send a TCP keep alive to a shard/data node while the
search.max_keep_aliveare configured at the shard level/data node level.
search.max_keep_aliveglobal 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.