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;
}
}