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-7999) Invalid segment file name
Date Mon, 23 Oct 2017 10:14:00 GMT

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

Michael McCandless commented on LUCENE-7999:
--------------------------------------------

Patch looks good; thank you [~mikedemi]!  Very impressive you hit the limit of int in segment
file names!  I'm curious: how often do you refresh/commit and how long lived was this index?

I don't think you should check the index created version for this logic.  Instead, you should
add a new static final version constant at the top of {{SegmentInfos.java}}, e.g. {{LUCENE_72}}
(since 7.1 is already released), and fix {{VERSION_CURRENT}} to point to that constant.  Then
fix the {{write}} method to always {{writeLong}} (maybe we should use {{writeVLong}}?).  Then
fix the {{readCommit}} method to use the (currently unused) {{format}} variable to switch
to {{readInt}} or {{readVLong}}.  See e.g. the 6.x version of {{SegmentInfos.java}} which
does have switching based on that {{format}}.

> Invalid segment file name
> -------------------------
>
>                 Key: LUCENE-7999
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7999
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: 5.x, 6.x, 7.0
>            Reporter: Mykhailo Demianenko
>            Priority: Minor
>         Attachments: segmentName.patch
>
>
> After really long and intensive index usage its possible to overflow counter that used
to generate new segment name that will not satisfy validation criteria:
> Caused by: java.lang.IllegalArgumentException: invalid codec filename '_-zik0zk_Lucene54_0.dvm',
must match: _[a-z0-9]+(_.*)?\..*
>     at org.apache.lucene.index.SegmentInfo.checkFileNames(SegmentInfo.java:280)
>     at org.apache.lucene.index.SegmentInfo.addFiles(SegmentInfo.java:262)
>     at org.apache.lucene.index.SegmentInfo.setFiles(SegmentInfo.java:256)
>     at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4080)
>     at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3655)
>     at org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:588)
>     at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:626)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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


Mime
View raw message