You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/01/21 17:33:09 UTC

svn commit: r1653588 - in /lucene/dev/trunk: ./ lucene/ lucene/backward-codecs/ lucene/core/ lucene/core/src/java/org/apache/lucene/codecs/lucene50/

Author: mikemccand
Date: Wed Jan 21 16:33:08 2015
New Revision: 1653588

URL: http://svn.apache.org/r1653588
Log:
LUCENE-6192: don't overflow int when writing skip data for high freq terms in extremely large indices

Modified:
    lucene/dev/trunk/   (props changed)
    lucene/dev/trunk/lucene/   (props changed)
    lucene/dev/trunk/lucene/CHANGES.txt   (props changed)
    lucene/dev/trunk/lucene/backward-codecs/   (props changed)
    lucene/dev/trunk/lucene/core/   (props changed)
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipWriter.java

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipReader.java?rev=1653588&r1=1653587&r2=1653588&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipReader.java Wed Jan 21 16:33:08 2015
@@ -179,10 +179,10 @@ final class Lucene50SkipReader extends M
   @Override
   protected int readSkipData(int level, IndexInput skipStream) throws IOException {
     int delta = skipStream.readVInt();
-    docPointer[level] += skipStream.readVInt();
+    docPointer[level] += skipStream.readVLong();
 
     if (posPointer != null) {
-      posPointer[level] += skipStream.readVInt();
+      posPointer[level] += skipStream.readVLong();
       posBufferUpto[level] = skipStream.readVInt();
 
       if (payloadByteUpto != null) {
@@ -190,7 +190,7 @@ final class Lucene50SkipReader extends M
       }
 
       if (payPointer != null) {
-        payPointer[level] += skipStream.readVInt();
+        payPointer[level] += skipStream.readVLong();
       }
     }
     return delta;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipWriter.java?rev=1653588&r1=1653587&r2=1653588&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipWriter.java Wed Jan 21 16:33:08 2015
@@ -147,12 +147,12 @@ final class Lucene50SkipWriter extends M
     skipBuffer.writeVInt(delta);
     lastSkipDoc[level] = curDoc;
 
-    skipBuffer.writeVInt((int) (curDocPointer - lastSkipDocPointer[level]));
+    skipBuffer.writeVLong(curDocPointer - lastSkipDocPointer[level]);
     lastSkipDocPointer[level] = curDocPointer;
 
     if (fieldHasPositions) {
 
-      skipBuffer.writeVInt((int) (curPosPointer - lastSkipPosPointer[level]));
+      skipBuffer.writeVLong(curPosPointer - lastSkipPosPointer[level]);
       lastSkipPosPointer[level] = curPosPointer;
       skipBuffer.writeVInt(curPosBufferUpto);
 
@@ -161,7 +161,7 @@ final class Lucene50SkipWriter extends M
       }
 
       if (fieldHasOffsets || fieldHasPayloads) {
-        skipBuffer.writeVInt((int) (curPayPointer - lastSkipPayPointer[level]));
+        skipBuffer.writeVLong(curPayPointer - lastSkipPayPointer[level]);
         lastSkipPayPointer[level] = curPayPointer;
       }
     }