hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hemanth Yamijala (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MAPREDUCE-1398) TaskLauncher remains stuck on tasks waiting for free nodes even if task is killed.
Date Tue, 16 Feb 2010 05:34:30 GMT

    [ https://issues.apache.org/jira/browse/MAPREDUCE-1398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834087#action_12834087
] 

Hemanth Yamijala commented on MAPREDUCE-1398:
---------------------------------------------

Looks good overall. Few minor nits:

- The default value for taskMemoryManagerEnabled was changed in the patch which seemed unnecessary.
Can we instead override isTaskMemoryManagerEnabled, if we just want to short circuit this
in the test case ?
- We can use the setIndexCache API to initialize the index cache in the main TT also.
- It would be really helpful to add a log line where we break the TaskLauncher's loop on detecting
the killed condition.

Can you please make these changes and make the patch run through Hudson ?

> TaskLauncher remains stuck on tasks waiting for free nodes even if task is killed.
> ----------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1398
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1398
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: tasktracker
>            Reporter: Hemanth Yamijala
>            Assignee: Amareshwari Sriramadasu
>         Attachments: patch-1398-1.txt, patch-1398.txt
>
>
> Tasks could be assigned to trackers for slots that are running other tasks in a commit
pending state. This is an optimization done to pipeline task assignment and launch. When the
task reaches the tracker, it waits until sufficient slots become free for it. This wait is
done in the TaskLauncher thread. Now, while waiting, if the task is killed externally (maybe
because the job finishes, etc), the TaskLauncher is not notified of this. So, it continues
to wait for the killed task to get sufficient slots. If slots do not become free for a long
time, this would result in considerable delay in waking up the TaskLauncher thread. If the
waiting task happens to be a high RAM task, then it is also wasteful, because by waking up,
it can make way for normal tasks that can run on the available number of slots.

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


Mime
View raw message