[
https://issues.apache.org/jira/browse/LUCENE-2365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Karthick Sankarachary updated LUCENE-2365:
------------------------------------------
Attachment: LUCENE-2365.patch
The unit test case that expose this issue, along with the proposed patch can be
found in LUCENE-2365.patch.
> Finding Newest Segment In Empty Index
> -------------------------------------
>
> Key: LUCENE-2365
> URL: https://issues.apache.org/jira/browse/LUCENE-2365
> Project: Lucene - Java
> Issue Type: Bug
> Components: Index
> Affects Versions: 3.0.1
> Reporter: Karthick Sankarachary
> Priority: Minor
> Fix For: 3.0.1
>
> Attachments: LUCENE-2365.patch
>
>
> While extending the index writer, I discovered that its newestSegment method
> does not check to see if there are any segments before accessing the segment
> infos vector. Specifically, if you call the IndexWriter#newestSegment method
> on a brand-new index which is essentially empty, then it throws an
> java.lang.ArrayIndexOutOfBoundsException exception.
> The proposed fix is to return null if no segments exist, as shown below:
> --- lucene/src/java/org/apache/lucene/index/IndexWriter.java (revision
> 930788)
> +++ lucene/src/java/org/apache/lucene/index/IndexWriter.java (working copy)
> @@ -4587,7 +4587,7 @@
>
> // utility routines for tests
> SegmentInfo newestSegment() {
> - return segmentInfos.info(segmentInfos.size()-1);
> + return segmentInfos.size() > 0 ?
> segmentInfos.info(segmentInfos.size()-1) : null;
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]