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

Opster Team

Aug-23, Version: 8.3-8.9

Briefly, this error occurs when Elasticsearch is unable to allocate shards to nodes in the cluster. This could be due to insufficient disk space, network connectivity issues, or configuration problems. To resolve this issue, you can try the following: 1) Check and increase the disk space if necessary. 2) Verify the network connectivity between the nodes. 3) Review the shard allocation settings in your Elasticsearch configuration. 4) Check the health of your Elasticsearch cluster and fix any identified issues.

This guide will help you check for common problems that cause the log ” failed to apply failed shards %s ” 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 %s” classname is ShardStateAction.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                maybeUpdatedState = applyFailedShards(initialState; failedShardsToBeApplied; staleShardsToBeApplied);
                for (final var taskContext : tasksToBeApplied) {
                    taskContext.success(() -> taskContext.getTask().listener().onResponse(TransportResponse.Empty.INSTANCE));
                }
            } catch (Exception e) {
                logger.warn(() -> format("failed to apply failed shards %s"; 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?