Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
6.5.1
-
None
-
None
-
New
Description
Similarly to LUCENE-7592 , When an *.si file is corrupted on very specific part an IllegalArgumentException is thrown instead of a CorruptIndexException.
StackTrace (Lucene 6.5.1):
java.lang.IllegalArgumentException: Illegal minor version: 12517381 at __randomizedtesting.SeedInfo.seed([1FEB5987CFA44BE:B8755B5574F9F3BF]:0) at org.apache.lucene.util.Version.<init>(Version.java:385) at org.apache.lucene.util.Version.<init>(Version.java:371) at org.apache.lucene.util.Version.fromBits(Version.java:353) at org.apache.lucene.codecs.lucene62.Lucene62SegmentInfoFormat.read(Lucene62SegmentInfoFormat.java:97) at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:357) at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:288) at org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:448) at org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:445) at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:692) at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:644) at org.apache.lucene.index.SegmentInfos.readLatestCommit(SegmentInfos.java:450) at org.apache.lucene.index.DirectoryReader.listCommits(DirectoryReader.java:260)
Simple fix would be to add IllegalArgumentException to the catch list at
org/apache/lucene/index/SegmentInfos.java:289
Other variations for the stacktraces:
java.lang.IllegalArgumentException: invalid codec filename '_�.cfs', must match: _[a-z0-9]+(_.*)?\..*
at __randomizedtesting.SeedInfo.seed([8B3FDE317B8D634A:A8EE07E5EB4B0B13]:0)
at org.apache.lucene.index.SegmentInfo.checkFileNames(SegmentInfo.java:270)
at org.apache.lucene.index.SegmentInfo.addFiles(SegmentInfo.java:252)
at org.apache.lucene.index.SegmentInfo.setFiles(SegmentInfo.java:246)
at org.apache.lucene.codecs.lucene62.Lucene62SegmentInfoFormat.read(Lucene62SegmentInfoFormat.java:248)
at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:357)
at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:288)
at org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:448)
at org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:445)
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:692)
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:644)
at org.apache.lucene.index.SegmentInfos.readLatestCommit(SegmentInfos.java:450)
at org.apache.lucene.index.DirectoryReader.listCommits(DirectoryReader.java:260)
java.lang.IllegalArgumentException: An SPI class of type org.apache.lucene.codecs.Codec with name 'LucenI62' does not exist. You need to add the corresponding JAR file supporting this SPI to your classpath. The current classpath supports the following names: [Lucene62, Lucene50, Lucene53, Lucene54, Lucene60] at __randomizedtesting.SeedInfo.seed([925DE160F7260F99:B026EB9373CB6368]:0) at org.apache.lucene.util.NamedSPILoader.lookup(NamedSPILoader.java:116) at org.apache.lucene.codecs.Codec.forName(Codec.java:116) at org.apache.lucene.index.SegmentInfos.readCodec(SegmentInfos.java:424) at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:356) at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:288) at org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:448) at org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:445) at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:692) at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:644) at org.apache.lucene.index.SegmentInfos.readLatestCommit(SegmentInfos.java:450) at org.apache.lucene.index.DirectoryReader.listCommits(DirectoryReader.java:260)
Attachments
Attachments
Issue Links
- links to