Failed to apply failed shards – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 6.8-8.2

Briefly, this error occurs when Elasticsearch is unable to allocate shards to nodes due to issues like insufficient disk space, network connectivity problems, or configuration errors. To resolve this, you can try the following: 1) Check and increase the disk space if it’s running low. 2) Verify network connectivity between nodes. 3) Review and correct any configuration errors in your Elasticsearch setup. 4) Use the cluster reroute API to manually reallocate the shards. 5) If a specific node is causing the issue, consider removing it and adding a new one.

This guide will help you check for common problems that cause the log ” failed to apply failed shards {} ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: shards, cluster, shard.

Log Context

Log “failed to apply failed shards {}” classname is ShardStateAction.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                maybeUpdatedState = applyFailedShards(currentState; failedShardsToBeApplied; staleShardsToBeApplied);
                for (final var taskContext : tasksToBeApplied) {
                    taskContext.success(taskContext.getTask().newPublicationListener());
                }
            } catch (Exception e) {
                logger.warn(() -> new ParameterizedMessage("failed to apply failed shards {}"; failedShardsToBeApplied); e);
                // failures are communicated back to the requester
                // cluster state will not be updated in this case
                for (final var taskContext : tasksToBeApplied) {
                    taskContext.onFailure(e);
                }

 

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?