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

Martin Amirault updated LUCENE-7822:
------------------------------------
    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):

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

Another stacktrace variation:
{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}

Simple fix would be to add IllegalArgumentException to the catch list at 
{{org/apache/lucene/index/SegmentInfos.java:289}}

  was:
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}}


> 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}
> Another stacktrace variation:
> {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}
> Simple fix would be to add IllegalArgumentException to the catch list at 
> {{org/apache/lucene/index/SegmentInfos.java:289}}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to