No information of unfinished map task in Job History, if all attempts of 
another map task fail.
-----------------------------------------------------------------------------------------------

                 Key: MAPREDUCE-3926
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3926
             Project: Hadoop Map/Reduce
          Issue Type: Bug
          Components: jobtracker
    Affects Versions: 0.20.205.0
            Reporter: Mitesh Singh Jat
            Priority: Minor


No information of unfinished map task in Job History, if all attempts of 
another map task fail.

For example, 
1. The first map task's first attempt m_000000_0 was making progress

2. The second map task failed 4 times, before completion of first map task 
attempt.

3. Hence, a job cleanup task was launched and completed, before completion of 
first map task attempt.

4. After job cleanup task, runningMapCache is cleaned
{noformat}
completedTask() -> jobComplete() -> garbageCollect() ->  this.runningMapCache = 
null;
           |-----> retireMap() -> if (runningMapCache == null) "Running cache 
for maps missing!! Job details are missing."
{noformat}

5. Hence, "Running cache for maps missing!! Job details are missing." error 
comes
(from retireMap() which is called after jobComplete() ) and no information is
added further to Job History. Therefore, first map task's information is
missing from Job History page.


I have created a sample streaming MR job, to reproduce this issue.

{code:title=mapper.sh}
#!/bin/bash
read line
if [[ "$line" == "sleep" ]]
then
    for i in 1 2 3
    do
        echo "Sleeping" >&2
        sleep 5
    done
    exit 0
else
    echo "Exiting" >&2
    exit -1
fi
{code}

Input file: in1.txt is for long running map task (here first map task)
{code:title=/user/mitesh/input/in1.txt}
sleep
{code}

Input file: in2.txt is for failing map task (here second map task)
{code:title=/user/mitesh/input/in2.txt}
exit
{code}


Running the sample streaming MR job.
{noformat}
$ hadoop fs -rmr -skipTrash xyz
$ hadoop fs -jar $HADOOP_INSTALL/hadoop-streaming.jar 
-Dmapred.map.max.attempts=2 -Dmapred.min.split.size=7 -Dmapred.map.tasks=2 
-mapper "mapper.sh" -file mapper.sh -reducer NONE -input 
/user/mitesh/input/in1.txt -input /user/mitesh/input/in2.txt -output xyz
{noformat}

Job History web UI
{noformat}
Hadoop Job job_201201310454_542302 on History Viewer
User: mitesh
JobName: streamjob7439640883203077520.jar
JobConf: hdfs://nn:port/user/mitesh/.staging/job_201201310454_542302/job.xml
Job-ACLs:
    mapreduce.job.acl-view-job: No users are allowed
    mapreduce.job.acl-modify-job: No users are allowed
Submitted At: 27-Feb-2012 12:56:02
Launched At: 27-Feb-2012 12:56:11 (8sec)
Finished At: 27-Feb-2012 12:56:31 (20sec)
Status: FAILED
Failure Info: # of failed Map Tasks exceeded allowed limit. FailedCount: 1. 
LastFailedTask: task_201201310454_542302_m_000001
Analyse This Job
Kind    Total Tasks(successful+failed+killed)   Successful tasks        Failed 
tasks    Killed tasks    Start Time      Finish Time
Setup   1       1       0       0       27-Feb-2012 12:56:12    27-Feb-2012 
12:56:16 (4sec)
Map     2       0       2       0       27-Feb-2012 12:56:16    27-Feb-2012 
12:56:26 (10sec)
Reduce  0       0       0       0               
Cleanup         1       1       0       0       27-Feb-2012 12:56:26    
27-Feb-2012 12:56:31 (4sec)
{noformat}

Above it shows, only 2 failed tasks (belong to second map task).
Only from JT logs, the task tracker of first map task can be found.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to