lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Amirault (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (LUCENE-7822) IllegalArgumentException thrown instead of a CorruptIndexException
Date Tue, 16 May 2017 02:10:04 GMT

     [ https://issues.apache.org/jira/browse/LUCENE-7822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Martin Amirault updated LUCENE-7822:
------------------------------------
    Attachment: LUCENE-7822.patch

Created a patch for master branch, along with a test to reproduce the problem.

Actually the code for doing the checksum was here, just not called in a finally clause.

> IllegalArgumentException thrown instead of a CorruptIndexException
> ------------------------------------------------------------------
>
>                 Key: LUCENE-7822
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7822
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: 6.5.1
>            Reporter: Martin Amirault
>            Priority: Minor
>         Attachments: LUCENE-7822.patch
>
>
> 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):
> {code}
> 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)
> {code}
> Simple fix would be to add IllegalArgumentException to the catch list at 
> {{org/apache/lucene/index/SegmentInfos.java:289}}
> Other variations for the stacktraces:
> {code}
> 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)
> {code}
> {code}
> 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)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message