From 6f0c4dca74cab26275d48c05fedd9bc2aa57878f Mon Sep 17 00:00:00 2001 From: Robert Joseph Evans Date: Tue, 2 Apr 2013 02:13:18 +0000 Subject: [PATCH] Reverted MAPREDUCE-4974 because of test failures. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1463359 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-mapreduce-project/CHANGES.txt | 3 --- .../hadoop/mapreduce/lib/input/LineRecordReader.java | 9 ++++++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index 9dc7f7fac55..39fd212abe6 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -748,9 +748,6 @@ Release 0.23.7 - UNRELEASED MAPREDUCE-4822. Unnecessary conversions in History Events. (Chu Tong via jlowe) - MAPREDUCE-4974. Optimising the LineRecordReader initialize() method - (Gelesh via bobby) - BUG FIXES MAPREDUCE-4458. Warn if java.library.path is used for AM or Task diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/input/LineRecordReader.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/input/LineRecordReader.java index 93c3dc80407..e1dcee0b24b 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/input/LineRecordReader.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/input/LineRecordReader.java @@ -81,13 +81,13 @@ public void initialize(InputSplit genericSplit, start = split.getStart(); end = start + split.getLength(); final Path file = split.getPath(); + compressionCodecs = new CompressionCodecFactory(job); + codec = compressionCodecs.getCodec(file); // open the file and seek to the start of the split final FileSystem fs = file.getFileSystem(job); fileIn = fs.open(file); if (isCompressedInput()) { - compressionCodecs = new CompressionCodecFactory(job); - codec = compressionCodecs.getCodec(file); decompressor = CodecPool.getDecompressor(codec); if (codec instanceof SplittableCompressionCodec) { final SplitCompressionInputStream cIn = @@ -166,6 +166,9 @@ public boolean nextKeyValue() throws IOException { while (getFilePosition() <= end) { newSize = in.readLine(value, maxLineLength, Math.max(maxBytesToConsume(pos), maxLineLength)); + if (newSize == 0) { + break; + } pos += newSize; if (newSize < maxLineLength) { break; @@ -216,4 +219,4 @@ public synchronized void close() throws IOException { } } } -} \ No newline at end of file +}