Change indices.memory.index_buffer_size on a working elasticsearch cluster

Hi,

Is there any way to change indices.memory.index_buffer_size on a working elasticsearch cluster?
Is that possible through an API?
Thank you in advance.

Looks like these settings are static which means the can only be applied to an unstarted or shut down node, so no they can not be set via an API only via elasticsearch.yml

See here

Indexing buffer settings

The indexing buffer is used to store newly indexed documents. When it fills up, the documents in the buffer are written to a segment on disk. It is divided between all shards on the node.

The following settings are static and must be configured on every data node in the cluster:

indices.memory.index_buffer_size

(Static) Accepts either a percentage or a byte size value. It defaults to 10% , meaning that 10% of the total heap allocated to a node will be used as the indexing buffer size shared across all shards.

indices.memory.min_index_buffer_size

(Static) If the index_buffer_size is specified as a percentage, then this setting can be used to specify an absolute minimum. Defaults to 48mb .

indices.memory.max_index_buffer_size

(Static) If the index_buffer_size is specified as a percentage, then this setting can be used to specify an absolute maximum. Defaults to unbounded.

Are Static see here

Static

Static settings can only be configured on an unstarted or shut down node using elasticsearch.yml .

Static settings must be set on every relevant node in the cluster.

... but you don't have to shut the whole cluster down to set them, you can use a rolling restart to adjust them with no downtime.

1 Like

Thanks @DavidTurner

Shoot ... pretty important part I left out! I think that is the actual question from the OP...

1 Like

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