Unable to find script id in cluster state – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when Elasticsearch tries to execute a script that is not found in the cluster state. This could be due to the script not being properly uploaded, deleted, or not existing at all. To resolve this issue, you can: 1) Check if the script was correctly uploaded to the cluster. 2) Verify if the script was accidentally deleted. 3) Ensure the script ID in the request matches the ID of the uploaded script. 4) If the script doesn’t exist, create and upload it to the cluster.

This guide will help you check for common problems that cause the log ” unable to find script [” + id + “] in cluster state ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: cluster.

Log Context

Log “unable to find script [” + id + “] in cluster state” class name is ScriptService.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 protected StoredScriptSource getScriptFromClusterState(String id) {
 ScriptMetadata scriptMetadata = clusterState.metadata().custom(ScriptMetadata.TYPE);  if (scriptMetadata == null) {
 throw new ResourceNotFoundException("unable to find script [" + id + "] in cluster state");
 }  StoredScriptSource source = scriptMetadata.getStoredScript(id);  if (source == null) {