Performance changes when setting index.blocks.write / read_only?


As part of our timeseries data management, we open new daily indices and ingest to them only once they are opened. Old indices are kept on our hot nodes for an additional day (for faster queries on these monstrous local SSD disks) and then moved to warm nodes. As no more writes to these indices occur, we'd like to release as many resources as possible. Closing the index is not an option, as queries should be executed as quickly as possible (without requiring multiple index/_open commands beforehand and index/_close commands afterward). We already set index.refresh_interval to -1 to disable index refreshing.

The question is whether index.blocks.read_only / index.blocks.read_only_allow_delete / index.blocks.write have any effect on the resources required by open indices which are ready to be queried (e.g. writing threads, mapping or other caches, etc).

A previous question from 2012 does not really answer this. The same can be said about Elasticsearch as a Time Series Data Store and Managing Elasticsearch time-based indices efficiently.
Are these settings only here to allow protection against writing and nothing more?

Enlighten me!


you are right. Those settings are basically only flags in the cluster state, which are checked before read or write operations. They do however not change the nature of the query or its execution path. You still have to have certain files/resources open in order to do a query - those resources are not available when an index is closed, thus a closed index is not searchable.


This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.