From 9a2d0f197747c4f10ff89a8e2e7ca0712e94b608 Mon Sep 17 00:00:00 2001 From: zhudebin Date: Mon, 13 Jun 2016 19:15:00 +0800 Subject: [PATCH 1/3] HADOOP-13192 org.apache.hadoop.util.LineReader match recordDelimiter has a bug --- .../src/main/java/org/apache/hadoop/util/LineReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/LineReader.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/LineReader.java index 153953d27360b..576f16e6492d4 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/LineReader.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/LineReader.java @@ -318,7 +318,7 @@ private int readCustomLine(Text str, int maxLineLength, int maxBytesToConsume) break; } } else if (delPosn != 0) { - bufferPosn--; + bufferPosn -= delPosn; delPosn = 0; } } From 71afbfcdab32784253e8fbaf4365962ff968e405 Mon Sep 17 00:00:00 2001 From: zhudebin Date: Fri, 17 Jun 2016 11:09:51 +0800 Subject: [PATCH 2/3] fix bug [hadoop-1392], add test case for LineReader --- .../org/apache/hadoop/util/LineReader.java | 3 +++ .../apache/hadoop/util/TestLineReader.java | 25 ++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/LineReader.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/LineReader.java index 576f16e6492d4..e20a7c1084e7b 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/LineReader.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/LineReader.java @@ -319,6 +319,9 @@ private int readCustomLine(Text str, int maxLineLength, int maxBytesToConsume) } } else if (delPosn != 0) { bufferPosn -= delPosn; + if(bufferPosn < -1) { + bufferPosn = -1; + } delPosn = 0; } } diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestLineReader.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestLineReader.java index 9d909bcebd067..a47ac65831070 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestLineReader.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestLineReader.java @@ -58,7 +58,7 @@ public void testCustomDelimiter() throws Exception { * Check Condition * In the second key value pair, the value should contain * "" from next token + * "id>" from next token */ Delimiter=""; @@ -80,7 +80,7 @@ public void testCustomDelimiter() throws Exception { String TestPartOfInput = CurrentBufferTailToken+NextBufferHeadToken; int BufferSize=64 * 1024; - int numberOfCharToFillTheBuffer=BufferSize-CurrentBufferTailToken.length(); + int numberOfCharToFillTheBuffer = BufferSize - CurrentBufferTailToken.length(); StringBuilder fillerString=new StringBuilder(); for (int i=0;i Date: Fri, 17 Jun 2016 16:20:17 +0800 Subject: [PATCH 3/3] fix the checkstyle warnings --- .../apache/hadoop/util/TestLineReader.java | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestLineReader.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestLineReader.java index a47ac65831070..52f8b9f6ef2aa 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestLineReader.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestLineReader.java @@ -80,20 +80,21 @@ public void testCustomDelimiter() throws Exception { String TestPartOfInput = CurrentBufferTailToken+NextBufferHeadToken; int BufferSize=64 * 1024; - int numberOfCharToFillTheBuffer = BufferSize - CurrentBufferTailToken.length(); + int numberOfCharToFillTheBuffer = + BufferSize - CurrentBufferTailToken.length(); StringBuilder fillerString=new StringBuilder(); - for (int i=0;i