You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by mi...@apache.org on 2009/01/16 11:48:13 UTC

svn commit: r734967 - /lucene/java/trunk/src/java/org/apache/lucene/index/CheckIndex.java

Author: mikemccand
Date: Fri Jan 16 02:48:11 2009
New Revision: 734967

URL: http://svn.apache.org/viewvc?rev=734967&view=rev
Log:
LUCENE-1520: prevent OOM in CheckIndex with large segment that has many fields w/ norms

Modified:
    lucene/java/trunk/src/java/org/apache/lucene/index/CheckIndex.java

Modified: lucene/java/trunk/src/java/org/apache/lucene/index/CheckIndex.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/index/CheckIndex.java?rev=734967&r1=734966&r2=734967&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/index/CheckIndex.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/index/CheckIndex.java Fri Jan 16 02:48:11 2009
@@ -414,7 +414,8 @@
         Iterator it = fieldNames.iterator();
         while(it.hasNext()) {
           final String fieldName = (String) it.next();
-          byte[] b = reader.norms(fieldName);
+          final byte[] b = new byte[reader.maxDoc()];
+          reader.norms(fieldName, b, 0);
           if (b.length != info.docCount)
             throw new RuntimeException("norms for field \"" + fieldName + "\" is length " + b.length + " != maxDoc " + info.docCount);