[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amar Kamat updated MAPREDUCE-1316:
----------------------------------

    Attachment: mapreduce-1316-v1.14-branch20-yahoo.patch

Attaching a patch for Yahoo!'s internal 20 branch (no to committed). This patch 
incorporates review comments from Hemanth and Arun. Changes are as follows :
- The junit mock test is changed to test all the task types.
-  Also added a _getTasks(TaskType)_ api in JobInProgress. Note that the 
findbugs cribbed on the _getTasks(TaskType)_ change with IS2_INCONSISTENT_SYNC 
warning. This error occurs because except _getTasks(TaskType)_, all the task 
arrays (i.e maps, reduces, setup, cleanup) are accessed inside JobInProgress 
lock. Prior to this patch, they are accessed in an unsynchronized way. Making 
_getTasks(TaskType)_ synchronized might get rid of the findbugs warnings but 
will add some more risk to this patch. Maybe we can follow this in another 
jira, thoughts?
- Note that the implementation of _JobInProgrsss.getTasks(TaskType)_ uses 
string comparison for enums instead of '==' or equals because of the jvm bug 
raised [here|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6277781]. I 
think its safer to compare enum names.

I ran all the tests that are touched by this patch and they have passed. I am 
now running the remaining tests. Will upload the test results. 

> JobTracker holds stale references to retired jobs via unreported tasks 
> -----------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1316
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1316
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobtracker
>            Reporter: Amar Kamat
>            Assignee: Amar Kamat
>            Priority: Blocker
>         Attachments: mapreduce-1316-v1.11.patch, 
> mapreduce-1316-v1.13-branch20-yahoo.patch, 
> mapreduce-1316-v1.14-branch20-yahoo.patch, mapreduce-1316-v1.7.patch
>
>
> JobTracker fails to remove _unreported_ tasks' mapping from _taskToTIPMap_ if 
> the job finishes and retires. _Unreported tasks_ refers to tasks that were 
> scheduled but the tasktracker did not report back with the task status. In 
> such cases a stale reference is held to TaskInProgress (and thus 
> JobInProgress) long after the job is gone leading to memory leak.

-- 
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