Introduce cluster level dynamic default and minimum refresh interval setting #9266
Labels
discuss
Issues intended to help drive brainstorming and decision making
enhancement
Enhancement or improvement to existing feature or request
Storage:Durability
Issues and PRs related to the durability framework
Storage
Issues and PRs relating to data and metadata storage
v2.10.0
Is your feature request related to a problem? Please describe.
This proposes to introduce 2 dynamic NodeScope settings i.e. cluster default refresh interval setting and cluster level minimum refresh interval setting. Currently the refresh interval for an index is read from an index scoped settings i.e.
index.refresh_interval
. The default value taken is 1s which is read from the hardcoded default value in the above setting.Code reference -
OpenSearch/server/src/main/java/org/opensearch/index/IndexSettings.java
Lines 301 to 308 in 5c283e0
Currently, if the customer wishes to override the
index.refresh_interval
setting, it also leads to Search Idle feature not being honoured due to explicit refresh interval check.New settings -
cluster.default.index.refresh_interval
This setting is used to set a default refresh index for all indexes created on the cluster unless the
index.refresh_interval
is present during index creation. If an index is stripped off theindex.refresh_interval
, then the index would use the cluster default index refresh interval. If an index is using the cluster default setting, then search idle feature continue to get honoured.cluster.minimum.index.refresh_interval
This setting is used to set a minimum refresh index which is used during index creation & update validation. If the specified
index.refresh_interval
value is less than the cluster minimum index refresh interval, then the creation/updation operation fails.The
cluster.default.index.refresh_interval
andcluster.minimum.index.refresh_interval
are dynamic with Node scope property. The default is always equal or greater than the minimum value.Expected behaviour
index.refresh_interval
index setting leads to the usage of the cluster default.index.refresh_interval
is passed during index creation or index update operation.index.refresh_interval
during index creation or update, the provided value is validated against the cluster minimum settings.index.refresh_interval
is set to null in update index settings call, the current latest cluster default settings will be used for setting the refresh interval.Evaluation for different modes
index.refresh_interval
. Having a cluster minimum will disallow the creation of index with an unreasonable (or unachievable) index refresh interval.index.refresh_interval
that fits the purpose.Describe the solution you'd like
Introduce the 2 settings mentioned above.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: