[
https://issues.apache.org/jira/browse/HADOOP-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12500800
]
Doug Cutting commented on HADOOP-1431:
--------------------------------------
So, to be conservative, let's get rid of the join and just go with interrupt.
Thus, the method should look something like:
{code}
private void sortWithProgress() {
Thread progress = createProgressThread(umbilical);
try {
sortAndSpillToDisk();
} finally {
progress.interrupt();
}
}
{code}
We need not define a nested class, we can re-use the existing
createProgressThread() method without alteration. Does that sound good?
> Map tasks can't timeout for failing to call progress
> ----------------------------------------------------
>
> Key: HADOOP-1431
> URL: https://issues.apache.org/jira/browse/HADOOP-1431
> Project: Hadoop
> Issue Type: Bug
> Components: mapred
> Affects Versions: 0.13.0
> Reporter: Owen O'Malley
> Assignee: Arun C Murthy
> Priority: Blocker
> Fix For: 0.13.0
>
> Attachments: HADOOP-1431_1_20070525.patch,
> HADOOP-1431_2_20070530.patch, HADOOP-1431_3_20070601.patch
>
>
> Currently the map task runner creates a thread that calls progress every
> second to keep the system from killing the map if the sort takes too long.
> This is the wrong approach, because it will cause stuck tasks to not be
> killed. The right solution is to have the sort call progress as it actually
> makes progress. This is part of what is going on in HADOOP-1374. A map gets
> stuck at 100% progress, but not done.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.