[
https://issues.apache.org/jira/browse/HADOOP-153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12616477#action_12616477
]
Sharad Agarwal commented on HADOOP-153:
---------------------------------------
Seems I haven't clearly mentioned, this Jira we scoped for handling Task
crashes/hangs as that seems to be more pressing requirement from users. For
handling java exceptions, have another JIRA - HADOOP-3700. I should rename the
subject of this Jira appropriately.
>I am concerned that this further complicates the already complicated
>JobTracker and TaskTracker.
Since we are handling task crashes, the tasktracker and jobtracker have to get
involved at some level, no? btw, In the current patch, there are minimal
changes to the jobtracker/tasktracker. Most of the logic is in RecordReader
wrapper and SortedRanges ( a new class). We get a good working functionality
(incorporates test cases) for skipping the bad ranges.
>rather than adding more JobConf methods, perhaps its configuration should be
>through static accessor methods on a SkipBadRecords class?
+1. It would avoid polluting the JobConf.
> Might it be possible to implement this through the filesystem?
Yes we can use filesystem to write the bad record sequence nos. But since those
are assumed to be very small, we agreed to store in Jobtracker's TIP. When TIP
instantiates MapTask, it passes that to it.
As Yiping has suggested in one of his comment to write the actual bytes
(key,values) of the skipped records, we are trying to address that. My earlier
comment #1.
> skip records that throw exceptions
> ----------------------------------
>
> Key: HADOOP-153
> URL: https://issues.apache.org/jira/browse/HADOOP-153
> Project: Hadoop Core
> Issue Type: New Feature
> Components: mapred
> Affects Versions: 0.2.0
> Reporter: Doug Cutting
> Assignee: Sharad Agarwal
> Attachments: 153_1.patch, 153_2.patch, skipRecords_wip1.patch
>
>
> MapReduce should skip records that throw exceptions.
> If the exception is thrown under RecordReader.next() then RecordReader
> implementations should automatically skip to the start of a subsequent record.
> Exceptions in map and reduce implementations can simply be logged, unless
> they happen under RecordWriter.write(). Cancelling partial output could be
> hard. So such output errors will still result in task failure.
> This behaviour should be optional, but enabled by default. A count of errors
> per task and job should be maintained and displayed in the web ui. Perhaps
> if some percentage of records (>50%?) result in exceptions then the task
> should fail. This would stop jobs early that are misconfigured or have buggy
> code.
> Thoughts?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.