%s corrupted – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 8.5-8.9

Briefly, this error occurs when Elasticsearch detects corruption in the segment files of an index. This could be due to hardware failure, file system issues, or a bug in Elasticsearch. To resolve this issue, you can try the following: 1) Use the Elasticsearch Check Index API to check the health of the index and potentially fix it. 2) If the index is not repairable, you may need to restore it from a backup. 3) If corruption is due to hardware or file system issues, you may need to address these underlying problems to prevent future corruption.

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

Log Context

Log “%s: corrupted” classname is Store.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

            return MetadataSnapshot.loadFromIndexCommit(null; dir; logger);
        } catch (IndexNotFoundException ex) {
            // that's fine - happens all the time no need to log
        } catch (CorruptIndexException ex) {
            logger.info(() -> format("%s: corrupted"; shardId); ex);
        } catch (FileNotFoundException | NoSuchFileException ex) {
            logger.info("Failed to open / find files while reading metadata snapshot"; ex);
        } catch (ShardLockObtainFailedException ex) {
            logger.info(() -> format("%s: failed to obtain shard lock"; shardId); ex);