Recently we found out that some of our indexes are unable to get shards allocated (cluster state remains in Red state as the consequence).
When we check the index files, we found a file named "corrupted_SWN5k349Qx2lZY1fWq0n1g"
The content is as follow:
?×lstore ±"8failed engine (reason: [corrupt file (source: [start])])_codec footer mismatch (file truncated?): actual footer=139953464 vs expected footer=-1071082520^MMapIndexInput(path="/data/nodes/0/indices/EUWYntUMQEOBPeduvbhGgw/0/index/_fe_Lucene50_0.tim") "org.apache.lucene.codecs.CodecUtilCodecUtil.javavalidateFooterö"org.apache.lucene.codecs.CodecUtilCodecUtil.javaretrieveChecksumç7org.apache.lucene.codecs.blocktree.BlockTreeTermsReaderBlockTreeTermsReader.java¡8org.apache.lucene.codecs.lucene50.Lucene50PostingsFormateLucene50PostingsFormat.javafieldsProducer½Eorg.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReaderePerFieldPostingsFormat.java¤8org.apache.lucene.codecs.perfield.PerFieldPostingsFormatePerFieldPostingsFormat.javafieldsProducerô*org.apache.lucene.index.SegmentCoreReadersSegmentCoreReaders.javap%org.apache.lucene.index.SegmentReaderSegmentReader.javaN)org.apache.lucene.index.ReadersAndUpdatesReadersAndUpdates.java getReaderÐ)org.apache.lucene.index.ReadersAndUpdatesReadersAndUpdates.javagetReadOnlyClone‚/org.apache.lucene.index.StandardDirectoryReaderStandardDirectoryReader.javaopeni#org.apache.lucene.index.IndexWriterIndexWriter.java getReaderê'org.apache.lucene.index.DirectoryReaderDirectoryReader.javaopeng'org.apache.lucene.index.DirectoryReaderDirectoryReader.javaopenO-org.elasticsearch.index.engine.InternalEngineInternalEngine.javacreateSearcherManagerÐ-org.elasticsearch.index.engine.InternalEngineInternalEngine.javaÝ4org.elasticsearch.index.engine.InternalEngineFactoryInternalEngineFactory.javanewReadWriteEngine(org.elasticsearch.index.shard.IndexShardIndexShard.java newEngineã(org.elasticsearch.index.shard.IndexShardIndexShard.javacreateNewEngineÑ(org.elasticsearch.index.shard.IndexShardIndexShard.javainternalPerformTranslogRecovery±
(org.elasticsearch.index.shard.IndexShardIndexShard.javaperformTranslogRecovery‰
+org.elasticsearch.index.shard.StoreRecoveryStoreRecovery.javainternalRecoverFromStore…+org.elasticsearch.index.shard.StoreRecoveryStoreRecovery.javalambda$recoverFromStore$0]+org.elasticsearch.index.shard.StoreRecoveryStoreRecovery.javaexecuteRecoveryž+org.elasticsearch.index.shard.StoreRecoveryStoreRecovery.javarecoverFromStore[(org.elasticsearch.index.shard.IndexShardIndexShard.javarecoverFromStore£(org.elasticsearch.index.shard.IndexShardIndexShard.javalambda$startRecovery$5íPorg.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnableThreadContext.javarun¹'java.util.concurrent.ThreadPoolExecutorThreadPoolExecutor.java runWorkerý.java.util.concurrent.ThreadPoolExecutor$WorkerThreadPoolExecutor.javarunðjava.lang.ThreadThread.javarunì %org.elasticsearch.index.engine.EngineEngine.java
failEngineê%org.elasticsearch.index.engine.EngineEngine.javamaybeFailEngine€a-org.elasticsearch.index.engine.InternalEngineInternalEngine.javamaybeFailEngine¹-org.elasticsearch.index.engine.InternalEngineInternalEngine.javacreateSearcherManagerÖ-org.elasticsearch.index.engine.InternalEngineInternalEngine.javaÝ4org.elasticsearch.index.engine.InternalEngineFactoryInternalEngineFactory.javanewReadWriteEngine(org.elasticsearch.index.shard.IndexShardIndexShard.java newEngineã(org.elasticsearch.index.shard.IndexShardIndexShard.javacreateNewEngineÑ(org.elasticsearch.index.shard.IndexShardIndexShard.javainternalPerformTranslogRecovery±
(org.elasticsearch.index.shard.IndexShardIndexShard.javaperformTranslogRecovery‰
+org.elasticsearch.index.shard.StoreRecoveryStoreRecovery.javainternalRecoverFromStore…+org.elasticsearch.index.shard.StoreRecoveryStoreRecovery.javalambda$recoverFromStore$0]+org.elasticsearch.index.shard.StoreRecoveryStoreRecovery.javaexecuteRecoveryž+org.elasticsearch.index.shard.StoreRecoveryStoreRecovery.javarecoverFromStore[(org.elasticsearch.index.shard.IndexShardIndexShard.javarecoverFromStore£(org.elasticsearch.index.shard.IndexShardIndexShard.javalambda$startRecovery$5íPorg.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnableThreadContext.javarun¹'java.util.concurrent.ThreadPoolExecutorThreadPoolExecutor.java runWorkerý.java.util.concurrent.ThreadPoolExecutor$WorkerThreadPoolExecutor.javarunðjava.lang.ThreadThread.javarunì À(“è Ïcä$
Please help if anyone knows:
- What might be the possible cause of this corruption?
- Is there any way to recover from this corruption?
PS. We are using Elasticsearch 6.0.1