Briefly, this error occurs when Elasticsearch cannot find the specified Snapshot Lifecycle Management (SLM) policy. This could be due to the policy being deleted or not created yet. To resolve this issue, you can either create a new SLM policy with the specified name or check if the policy was accidentally deleted and restore it if necessary. Also, ensure that the policy name in your request matches the existing policy name exactly, as it is case-sensitive.
This guide will help you check for common problems that cause the log ” snapshot lifecycle policy not found: {} ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: plugin, snapshot.
Log Context
Log “snapshot lifecycle policy not found: {}” class name is TransportDeleteSnapshotLifecycleAction.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :
@Override public ClusterState execute(ClusterState currentState) { SnapshotLifecycleMetadata snapMeta = currentState.metadata().custom(SnapshotLifecycleMetadata.TYPE); if (snapMeta == null) { throw new ResourceNotFoundException("snapshot lifecycle policy not found: {}"; request.getLifecycleId()); } var currentMode = LifecycleOperationMetadata.currentSLMMode(currentState); // Check that the policy exists in the first place snapMeta.getSnapshotConfigurations() .entrySet()