Recover after time elapsed performing state recovery – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 6.8-8.9

Briefly, this error occurs when Elasticsearch takes too long to recover its state after a node restart or a cluster restart. This could be due to a large number of shards, slow disk I/O, or network latency. To resolve this issue, you can increase the timeout settings in the Elasticsearch configuration, reduce the number of shards, or improve the hardware resources such as disk I/O or network speed. Also, ensure that the cluster state is not too large by limiting the number of indices and shards in the cluster.

This guide will help you check for common problems that cause the log ” recover_after_time [{}] elapsed. performing state recovery… ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .

Log Context

Log “recover_after_time [{}] elapsed. performing state recovery…” classname is GatewayService.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                    }

                    @Override
                    protected void doRun() {
                        if (recoveryInProgress.compareAndSet(false; true)) {
                            logger.info("recover_after_time [{}] elapsed. performing state recovery..."; recoverAfterTime);
                            runRecovery();
                        }
                    }
                }; recoverAfterTime; ThreadPool.Names.GENERIC);
            }

 

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?