How Aiven Elasticsearch adjusts number_of_replicas?
Aiven Elasticsearch automatically adjusts index replication factors to ensure data availability and service functionality.
When replication factor is automatically adjusted?
If number_of_replicas is too large for current cluster size, it is automatically lowered to maximum possible value (number of nodes on the cluster - 1).
If number_of_replicas is 0 on a multi-node cluster, it is automatically increased to 1.
If number_of_replicas is anywhere between 1 and maximum value, it is not automatically adjusted.
When replication factor (number_of_replicas ) is set to larger than size of the cluster, number_of_replicas is automatically lowered, as it is not possible to replicate indexes (shards) to a larger number of nodes than what exists on the cluster. Do note number replication factor is number_of_replicas + 1. For example, for three-node cluster, maximum number_of_replicas is 2, which means all shards on the index are replicated to all three nodes.
For multi-node clusters, Aiven Elasticsearch automatically increases number_of_replicas to 1, if it is set to 0. This is to ensure no data-loss occurs if one node is lost.
You are running out of disk space, but you don't need more CPU or memory capacity.
You can easily regenerate all the data on the indexes that will have number_of_replicas = 1 .
You are running a multi-node cluster.
This will not lower number_of_replicas , but in the future it will not be increased automatically. Replication factor is still automatically lowered when set to larger value than current cluster configuration allows.