Handle multiline output in Job History file
-------------------------------------------

                 Key: CHUKWA-132
                 URL: https://issues.apache.org/jira/browse/CHUKWA-132
             Project: Hadoop Chukwa
          Issue Type: Bug
          Components: Data Processors
         Environment: Redhat EL 5.1, Java 6
            Reporter: Eric Yang
            Priority: Critical


When there are multi line output in the Job History file, the parser fails with 
exception like this:

MapAttempt TASK_TYPE="MAP" TASKID="task_200904060626_2141_m_000108" 
TASK_ATTEMPT_ID="attempt_200904060626_2141_m_000108_1" 
START_TIME="1239190934835" 
TRACKER_NAME="tracker_kry50024\.inktomisearch\.com:localhost/127\.0\.0\.1:39507"
 HTTP_PORT="50060" .
MapAttempt TASK_TYPE="MAP" TASKID="task_200904060626_2141_m_000108" 
TASK_ATTEMPT_ID="attempt_200904060626_2141_m_000108_1" TASK_STATUS="FAILED" 
FINISH_TIME="1239190949062" HOSTNAME="kry50024\.inktomisearch\.com" 
ERROR="java\.io\.IOException: MROutput/MRErrThread 
failed:java\.lang\.ArrayIndexOutOfBoundsException: -1
        at 
org\.apache\.hadoop\.mapred\.lib\.KeyFieldBasedPartitioner\.hashCode(KeyFieldBasedPartitioner\.java:95)
        at 
org\.apache\.hadoop\.mapred\.lib\.KeyFieldBasedPartitioner\.getPartition(KeyFieldBasedPartitioner\.java:87)
        at 
org\.apache\.hadoop\.mapred\.MapTask$MapOutputBuffer\.collect(MapTask\.java:801)
        at 
org\.apache\.hadoop\.streaming\.PipeMapRed$MROutputThread\.run(PipeMapRed\.java:378)

        at org\.apache\.hadoop\.streaming\.PipeMapper\.map(PipeMapper\.java:87)
        at org\.apache\.hadoop\.mapred\.MapRunner\.run(MapRunner\.java:50)
        at 
org\.apache\.hadoop\.streaming\.PipeMapRunner\.run(PipeMapRunner\.java:36)
        at org\.apache\.hadoop\.mapred\.MapTask\.runOldMapper(MapTask\.java:356)
        at org\.apache\.hadoop\.mapred\.MapTask\.run(MapTask\.java:305)
        at org\.apache\.hadoop\.mapred\.Child\.main(Child\.java:156)
" .
MapAttempt TASK_TYPE="CLEANUP" TASKID="task_200904060626_2141_m_000197" 
TASK_ATTEMPT_ID="attempt_200904060626_2141_m_000197_0" 
START_TIME="1239190961843" 
TRACKER_NAME="tracker_kry3083\.inktomisearch\.com:localhost/127\.0\.0\.1:60970" 
HTTP_PORT="50060" .
MapAttempt TASK_TYPE="CLEANUP" TASKID="task_200904060626_2141_m_000197" 
TASK_ATTEMPT_ID="attempt_200904060626_2141_m_000197_0" TASK_STATUS="SUCCESS" 
FINISH_TIME="1239190963602" 
HOSTNAME="/74\.6\.135\.128/kry3083\.inktomisearch\.com" STATE_STRING="cleanup" 
COUNTERS="{(org\.apache\.hadoop\.mapred\.Task$Counter)(Map-Reduce 
Framework)[(SPILLED_RECORDS)(Spilled Records)(0)]}" .
Task TASKID="task_200904060626_2141_m_000197" TASK_TYPE="CLEANUP" 
TASK_STATUS="SUCCESS" FINISH_TIME="1239190963509" 
COUNTERS="{(org\.apache\.hadoop\.mapred\.Task$Counter)(Map-Reduce 
Framework)[(SPILLED_RECORDS)(Spilled Records)(0)]}" .
Job JOBID="job_200904060626_2141" FINISH_TIME="1239190963510" 
JOB_STATUS="FAILED" FINISHED_MAPS="0" FINISHED_REDUCES="0" .

[cchunkException] :java.lang.StringIndexOutOfBoundsException: String index out 
of range: -1
        at java.lang.String.substring(String.java:1938)
        at 
org.apache.hadoop.chukwa.extraction.demux.processor.mapper.JobLog$JobLogLine.<init>(JobLog.java:114)
        at 
org.apache.hadoop.chukwa.extraction.demux.processor.mapper.JobLog.parse(JobLog.java:39)
        at 
org.apache.hadoop.chukwa.extraction.demux.processor.mapper.AbstractProcessor.process(AbstractProcessor.java:90)
        at 
org.apache.hadoop.chukwa.extraction.demux.Demux$MapClass.map(Demux.java:94)
        at 
org.apache.hadoop.chukwa.extraction.demux.Demux$MapClass.map(Demux.java:60)
        at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:47)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:227)
        at 
org.apache.hadoop.mapred.TaskTracker$Child.main(TaskTracker.java:2210)

[csource] :kry-jt1.red.ygrid.yahoo.com
[ctags] :cluster="kryptonitered"



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to