Failed to start snapshot clone – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 7.1-8.2

Before you dig into reading this guide, have you tried asking OpsGPT what this log means? You’ll receive a customized analysis of your log.

Try OpsGPT now for step-by-step guidance and tailored insights into your Elasticsearch operation.

Briefly, this error occurs when Elasticsearch is unable to initiate the process of cloning a snapshot, which could be due to insufficient permissions, lack of disk space, or network connectivity issues. To resolve this, you can check and adjust the user permissions, ensure there’s enough disk space, and verify network connectivity. Additionally, check the snapshot repository’s configuration and the health of the cluster. If the snapshot is corrupted, consider creating a new one.

For a complete solution to your to your search operation, try for free AutoOps for Elasticsearch & OpenSearch . With AutoOps and Opster’s proactive support, you don’t have to worry about your search operation – we take charge of it. Get improved performance & stability with less hardware.

This guide will help you check for common problems that cause the log ” Failed to start snapshot clone [{}] ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: snapshot.

Log Context

Log “Failed to start snapshot clone [{}]” classname is SnapshotsService.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

        final Executor executor = threadPool.executor(ThreadPool.Names.SNAPSHOT);
        // Exception handler for IO exceptions with loading index and repo metadata
        final Consumer onFailure = e -> {
            endingSnapshots.add(targetSnapshot);
            initializingClones.remove(targetSnapshot);
            logger.info(() -> new ParameterizedMessage("Failed to start snapshot clone [{}]"; cloneEntry); e);
            removeFailedSnapshotFromClusterState(targetSnapshot; e; null);
        };

        // 1. step; load SnapshotInfo to make sure that source snapshot was successful for the indices we want to clone
        // TODO: we could skip this step for snapshots with state SUCCESS

 

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?