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
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]