[ 
http://issues.apache.org/jira/browse/LUCENE-415?page=comments#action_12412379 ] 

Yonik Seeley commented on LUCENE-415:
-------------------------------------

the fact that getChannel has side effects in Windows makes me a little 
uncomfortable about what other side effects it has on other platforms.  Is it 
only needed when truncating a previously existing file, or is it always needed 
to solve "fairly odd but repeatable issues with stale/invalid file handles 
under windows XP"?

If the former, we could do the following:

    public FSOutputStream(File path) throws IOException
    {
        file = new RandomAccessFile(path, "rw"); 
        if (file.length()!=0) {
          file.setLength(0);
          file.getChannel().close();   // solved some fairly odd but repeatable 
issues with stale/invalid file handles under windows XP.
       }
    } 

> Merge error during add to index (IndexOutOfBoundsException)
> -----------------------------------------------------------
>
>          Key: LUCENE-415
>          URL: http://issues.apache.org/jira/browse/LUCENE-415
>      Project: Lucene - Java
>         Type: Bug

>   Components: Index
>     Versions: 1.4
>  Environment: Operating System: Linux
> Platform: Other
>     Reporter: Daniel Quaroni
>     Assignee: Lucene Developers

>
> I've been batch-building indexes, and I've build a couple hundred indexes 
> with 
> a total of around 150 million records.  This only happened once, so it's 
> probably impossible to reproduce, but anyway... I was building an index with 
> around 9.6 million records, and towards the end I got this:
> java.lang.IndexOutOfBoundsException: Index: 54, Size: 24
>         at java.util.ArrayList.RangeCheck(ArrayList.java:547)
>         at java.util.ArrayList.get(ArrayList.java:322)
>         at org.apache.lucene.index.FieldInfos.fieldInfo(FieldInfos.java:155)
>         at org.apache.lucene.index.FieldInfos.fieldName(FieldInfos.java:151)
>         at 
> org.apache.lucene.index.SegmentTermEnum.readTerm(SegmentTermEnum.java
> :149)
>         at org.apache.lucene.index.SegmentTermEnum.next
> (SegmentTermEnum.java:115)
>         at org.apache.lucene.index.SegmentMergeInfo.next
> (SegmentMergeInfo.java:52)
>         at org.apache.lucene.index.SegmentMerger.mergeTermInfos
> (SegmentMerger.java:294)
>         at org.apache.lucene.index.SegmentMerger.mergeTerms
> (SegmentMerger.java:254)
>         at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:93)
>         at org.apache.lucene.index.IndexWriter.mergeSegments
> (IndexWriter.java:487)
>         at org.apache.lucene.index.IndexWriter.maybeMergeSegments
> (IndexWriter.java:458)
>         at 
> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:310)
>         at 
> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:294)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to