The StreamBaseRecordReader is unable to log record data that's not UTF-8 -------------------------------------------------------------------------
Key: HADOOP-1271 URL: https://issues.apache.org/jira/browse/HADOOP-1271 Project: Hadoop Issue Type: Bug Components: contrib/streaming Reporter: Gautam Kowshik Priority: Minor Streaming code at times can work on data that's not UTF-8, for instance image/audio data. The StreamBaseRecordReader tries to log some status info, which contains part of the record, using the LOG.info() call. This call throws this exception : java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at java.io.BufferedOutputStream.write(BufferedOutputStream.java:111) at org.apache.hadoop.mapred.TaskLog$Writer.write(TaskLog.java:217) at org.apache.hadoop.mapred.TaskLogAppender.append(TaskLogAppender.java:51) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65) at org.apache.log4j.Category.callAppenders(Category.java:203) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:133) at org.apache.hadoop.streaming.StreamBaseRecordReader.numRecStats(StreamBaseRecordReader.java:114) at org.apache.hadoop.streaming.StreamXmlRecordReader.next(StreamXmlRecordReader.java:99) at org.apache.hadoop.mapred.MapTask$1.next(MapTask.java:157) at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:46) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:175) at org.apache.hadoop.mapred.TaskTracker$Child.main(TaskTracker.java:1445) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.