Ignoring index merge scheduler max merge at once because we are using ConcurrentMergeScheduler 2 1 – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 1.7-1.7

Briefly, this error occurs when Elasticsearch tries to use more than one merge at a time, but the system is configured to use the ConcurrentMergeScheduler, which only allows one merge at a time. To resolve this issue, you can either adjust the system configuration to allow multiple merges at once, or you can modify your Elasticsearch operations to only require one merge at a time. Alternatively, you can switch to a different merge scheduler that supports multiple merges at once.

This guide will help you check for common problems that cause the log ” ignoring index.merge.scheduler.max_merge_at_once [{}]; because we are using ConcurrentMergeScheduler(2; 1) ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: index and merge.

Log Context

Log “ignoring index.merge.scheduler.max_merge_at_once [{}]; because we are using ConcurrentMergeScheduler(2; 1)” classname is SerialMergeSchedulerProvider.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

Inject
    public SerialMergeSchedulerProvider(ShardId shardId; 
IndexSettings Settings indexSettings; ThreadPool threadPool) {
        super(shardId; indexSettings; threadPool);
        Integer value = componentSettings.getAsInt("max_merge_at_once"; null);
        if (value != null) {
            logger.warn("ignoring index.merge.scheduler.max_merge_at_once [{}]; because we are using ConcurrentMergeScheduler(2; 1)"; value);
        }
        logger.trace("using [concurrent] merge scheduler; max_thread_count=1; max_merge_count=2");
    }

    
Override

 

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?