You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2012/06/14 00:51:38 UTC

svn commit: r1350048 - in /lucene/dev/branches/branch_4x: ./ lucene/ lucene/core/ lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java lucene/core/src/test/org/apache/lucene/index/Test2BDocs.java

Author: uschindler
Date: Wed Jun 13 22:51:38 2012
New Revision: 1350048

URL: http://svn.apache.org/viewvc?rev=1350048&view=rev
Log:
Merged revision(s) 1350047 from lucene/dev/trunk:
LUCENE-4137: BaseCompositeReader should throw exception if docids overflow

Added:
    lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/Test2BDocs.java
      - copied unchanged from r1350047, lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/Test2BDocs.java
Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/lucene/   (props changed)
    lucene/dev/branches/branch_4x/lucene/core/   (props changed)
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java?rev=1350048&r1=1350047&r2=1350048&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java Wed Jun 13 22:51:38 2012
@@ -70,6 +70,9 @@ public abstract class BaseCompositeReade
       starts[i] = maxDoc;
       final IndexReader r = subReaders[i];
       maxDoc += r.maxDoc();      // compute maxDocs
+      if (maxDoc < 0 /* overflow */) {
+        throw new IllegalArgumentException("Too many documents, composite IndexReaders cannot exceed " + Integer.MAX_VALUE);
+      }
       numDocs += r.numDocs();    // compute numDocs
       if (r.hasDeletions()) {
         hasDeletions = true;