MAPREDUCE-6741. Refactor UncompressedSplitLineReader.fillBuffer(). Contributed by Daniel Templeton.

This commit is contained in:
Akira Ajisaka 2016-06-10 19:15:36 +09:00
parent 9581fb715c
commit 0b7b8a3776

View File

@ -53,10 +53,10 @@ protected int fillBuffer(InputStream in, byte[] buffer, boolean inDelimiter)
throws IOException { throws IOException {
int maxBytesToRead = buffer.length; int maxBytesToRead = buffer.length;
if (totalBytesRead < splitLength) { if (totalBytesRead < splitLength) {
long leftBytesForSplit = splitLength - totalBytesRead; long bytesLeftInSplit = splitLength - totalBytesRead;
// check if leftBytesForSplit exceed Integer.MAX_VALUE
if (leftBytesForSplit <= Integer.MAX_VALUE) { if (bytesLeftInSplit < maxBytesToRead) {
maxBytesToRead = Math.min(maxBytesToRead, (int)leftBytesForSplit); maxBytesToRead = (int)bytesLeftInSplit;
} }
} }
int bytesRead = in.read(buffer, 0, maxBytesToRead); int bytesRead = in.read(buffer, 0, maxBytesToRead);