Failed to create engine – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when Elasticsearch fails to create a new search engine instance due to issues like insufficient disk space, incorrect file permissions, or corrupted indices. To resolve this, you can free up disk space, check and correct file permissions, or try to repair the corrupted indices. If these steps don’t work, consider reindexing your data or restoring from a backup.

This guide will help you check for common problems that cause the log ” failed to create engine ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: index.

Log Context

Log “failed to create engine” class name is InternalEngine.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 final Map commitData = commitDataAsMap(writer);
 historyUUID = loadHistoryUUID(commitData);
 forceMergeUUID = commitData.get(FORCE_MERGE_UUID_KEY);
 indexWriter = writer;
 } catch (IOException | TranslogCorruptedException e) {
 throw new EngineCreationFailureException(shardId; "failed to create engine"; e);
 } catch (AssertionError e) {
 // IndexWriter throws AssertionError on init; if asserts are enabled; if any files don't exist; but tests that
 // randomly throw FNFE/NSFE can also hit this:
 if (ExceptionsHelper.stackTrace(e).contains("org.apache.lucene.index.IndexWriter.filesExist")) {
 throw new EngineCreationFailureException(shardId; "failed to create engine"; e);

 

 [ratemypost]