binde created HADOOP-13192: ------------------------------ Summary: org.apache.hadoop.util.LineReader match recordDelimiter has a bug Key: HADOOP-13192 URL: https://issues.apache.org/jira/browse/HADOOP-13192 Project: Hadoop Common Issue Type: Bug Components: util Affects Versions: 2.6.2 Reporter: binde
org.apache.hadoop.util.LineReader.readCustomLine() has a bug, when line is aaaabccc, recordDelimiter is aaab, the result should be a,ccc, show the code on line 310: for (; bufferPosn < bufferLength; ++bufferPosn) { if (buffer[bufferPosn] == recordDelimiterBytes[delPosn]) { delPosn++; if (delPosn >= recordDelimiterBytes.length) { bufferPosn++; break; } } else if (delPosn != 0) { bufferPosn--; delPosn = 0; } } shoud be : for (; bufferPosn < bufferLength; ++bufferPosn) { if (buffer[bufferPosn] == recordDelimiterBytes[delPosn]) { delPosn++; if (delPosn >= recordDelimiterBytes.length) { bufferPosn++; break; } } else if (delPosn != 0) { // ------------- change here ------------- start ---- bufferPosn -= delPosn; // ------------- change here ------------- end ---- delPosn = 0; } } -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org