Updating cluster routing allocation disable new allocation 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 update the cluster routing allocation settings in Elasticsearch, specifically disabling new allocation. This could be due to a variety of reasons such as maintenance, node failures, or resource optimization. To resolve this issue, you can re-enable allocation by setting the cluster.routing.allocation.enable to ‘all’. If the issue persists, check for any underlying issues like insufficient resources or network connectivity problems. Also, ensure that the cluster health is green and all nodes are properly connected.

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

Log Context

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

     class ApplySettings implements NodeSettingsService.Listener {
        
Override
        public void onRefreshSettings(Settings settings) {
            boolean disableNewAllocation = settings.getAsBoolean(CLUSTER_ROUTING_ALLOCATION_DISABLE_NEW_ALLOCATION; DisableAllocationDecider.this.disableNewAllocation);
            if (disableNewAllocation != DisableAllocationDecider.this.disableNewAllocation) {
                logger.info("updating [cluster.routing.allocation.disable_new_allocation] from [{}] to [{}]"; DisableAllocationDecider.this.disableNewAllocation; disableNewAllocation);
                DisableAllocationDecider.this.disableNewAllocation = disableNewAllocation;
            }

            boolean disableAllocation = settings.getAsBoolean(CLUSTER_ROUTING_ALLOCATION_DISABLE_ALLOCATION; DisableAllocationDecider.this.disableAllocation);
            if (disableAllocation != DisableAllocationDecider.this.disableAllocation) {



 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?