Solr auto commit error [LUCENE-8002]
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
Hi Team,
We are seeing solr doc id missing error in our production cluster. Below is the snap from solr log.
ERROR - 2017-10-03 08:32:08.715; org.apache.solr.common.SolrException; auto commit error...:java.lang.RuntimeException: java.io.FileNotFoundException: Requested file hdfs:/solr/<path>/core_node5/data/index/_ect.fdt does not exist.
at org.apache.lucene.index.TieredMergePolicy$SegmentByteSizeDescending.compare(TieredMergePolicy.java:258)
at org.apache.lucene.index.TieredMergePolicy$SegmentByteSizeDescending.compare(TieredMergePolicy.java:238)
at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
at java.util.TimSort.sort(TimSort.java:234)
at java.util.Arrays.sort(Arrays.java:1512)
at java.util.ArrayList.sort(ArrayList.java:1454)
at java.util.Collections.sort(Collections.java:175)
at org.apache.lucene.index.TieredMergePolicy.findMerges(TieredMergePolicy.java:292)
at org.apache.lucene.index.IndexWriter.updatePendingMerges(IndexWriter.java:2005)
at org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:1969)
at org.apache.lucene.index.IndexWriter.prepareCommitInternal(IndexWriter.java:2999)
at org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:3104)
at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3071)
at org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:582)
at org.apache.solr.update.CommitTracker.run(CommitTracker.java:216)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.FileNotFoundException: Requested file hdfs:/solr/<path>/core_node5/data/index/_ect.fdt does not exist.
at com.mapr.fs.MapRFileSystem.getMapRFileStatus(MapRFileSystem.java:1374)
at com.mapr.fs.MapRFileSystem.getFileStatus(MapRFileSystem.java:1031)
at org.apache.solr.store.hdfs.HdfsFileReader.getLength(HdfsFileReader.java:94)
at org.apache.solr.store.hdfs.HdfsDirectory.fileLength(HdfsDirectory.java:148)
at org.apache.lucene.store.NRTCachingDirectory.fileLength(NRTCachingDirectory.java:143)
at org.apache.lucene.index.SegmentCommitInfo.sizeInBytes(SegmentCommitInfo.java:219)
at org.apache.lucene.index.MergePolicy.size(MergePolicy.java:478)
at org.apache.lucene.index.TieredMergePolicy$SegmentByteSizeDescending.compare(TieredMergePolicy.java:248)
---
Migrated from [LUCENE-8002](https://issues.apache.org/jira/browse/LUCENE-8002) by Jerry Richard
Contributor guide
Research direction
Start with the reported stack trace in org.apache.lucene.index.TieredMergePolicy and the Solr commit path through DirectUpdateHandler2 and CommitTracker. Reproduce or isolate the missing-file condition using the provided error and determine the expected handling; the issue is done when the auto-commit failure has a verified resolution and regression coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- search
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100