lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-7822) IllegalArgumentException thrown instead of a CorruptIndexException
Date Fri, 12 May 2017 14:31:04 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-7822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16008219#comment-16008219
] 

Michael McCandless commented on LUCENE-7822:
--------------------------------------------

bq. For such a small file, maybe we should call eg. CodecUtil.checksumEntireFile before starting
to read it. This would give a clearer error message?

+1

> 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
>
> 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