Updating cluster routing allocation cluster concurrent rebalance from to – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 2.3-2.3

Briefly, this error occurs when there’s an attempt to change the concurrent rebalance limit in Elasticsearch’s cluster settings. This limit determines how many shard rebalances can occur simultaneously. If set too high, it can overload the system; too low, and rebalancing may be slow. To resolve this, ensure the limit is set to a reasonable value. You can adjust this setting using the Cluster Update Settings API. Also, monitor your cluster’s performance to ensure it’s not being overloaded by too many concurrent rebalances.

This guide will help you check for common problems that cause the log ” updating [cluster.routing.allocation.cluster_concurrent_rebalance] from [{}]; to [{}] ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: allocation, cluster, rebalance and routing.

Log Context

Log “updating [cluster.routing.allocation.cluster_concurrent_rebalance] from [{}]; to [{}]” classname is ConcurrentRebalanceAllocationDecider.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

     class ApplySettings implements NodeSettingsService.Listener {
        public void onRefreshSettings(Settings settings) {
            int clusterConcurrentRebalance = settings.getAsInt(CLUSTER_ROUTING_ALLOCATION_CLUSTER_CONCURRENT_REBALANCE; ConcurrentRebalanceAllocationDecider.this.clusterConcurrentRebalance);
            if (clusterConcurrentRebalance != ConcurrentRebalanceAllocationDecider.this.clusterConcurrentRebalance) {
                logger.info("updating [cluster.routing.allocation.cluster_concurrent_rebalance] from [{}]; to [{}]"; ConcurrentRebalanceAllocationDecider.this.clusterConcurrentRebalance; clusterConcurrentRebalance);
                ConcurrentRebalanceAllocationDecider.this.clusterConcurrentRebalance = clusterConcurrentRebalance;