Policy does not exist – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 7.16-8.9

Briefly, this error occurs when Elasticsearch tries to apply a policy that doesn’t exist in the system. This could be due to a typo in the policy name or the policy was deleted. To resolve this issue, you can either create a new policy with the same name or correct the policy name in your request. Also, ensure that the policy is created in the correct cluster if you’re using multiple clusters. Lastly, check if the policy was accidentally deleted and restore it if necessary.

This guide will help you check for common problems that cause the log ” policy [{}] does not exist ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: plugin.

Log Context

Log “policy [{}] does not exist” class name is EnrichPolicyExecutor.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 ActionListener listener
 ) {
 try {
 EnrichPolicy policy = EnrichStore.getPolicy(policyName; clusterService.state());
 if (policy == null) {
 throw new ResourceNotFoundException("policy [{}] does not exist"; policyName);
 }  task.setStatus(new ExecuteEnrichPolicyStatus(ExecuteEnrichPolicyStatus.PolicyPhases.SCHEDULED));
 Runnable runnable = createPolicyRunner(policyName; policy; enrichIndexName; task; listener);
 threadPool.executor(ThreadPool.Names.GENERIC).execute(runnable);

 

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?