[
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: [email protected]
For additional commands, e-mail: [email protected]