Issue Details (XML | Word | Printable)

Key: HADOOP-3829
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Sharad Agarwal
Reporter: Sharad Agarwal
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Hadoop Common

Narrown down skipped records based on user acceptable value

Created: 25/Jul/08 11:15 AM   Updated: 08/Jul/09 04:52 PM
Component/s: None
Affects Version/s: 0.19.0
Fix Version/s: 0.19.0

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works 3829_v1.153_7.patch 2008-08-08 12:14 PM Sharad Agarwal 19 kB
Text File Licensed for inclusion in ASF works 3829_v1.patch 2008-08-21 12:50 PM Sharad Agarwal 23 kB
Text File Licensed for inclusion in ASF works 3829_v2.patch 2008-09-04 06:42 AM Sharad Agarwal 36 kB
Text File Licensed for inclusion in ASF works 3829_v3.patch 2008-09-08 06:02 AM Sharad Agarwal 36 kB
Text File Licensed for inclusion in ASF works 3829_v4.patch 2008-09-17 10:13 AM Sharad Agarwal 45 kB
Issue Links:
Dependants
 

Hadoop Flags: Reviewed
Release Note: Introduced new config parameter org.apache.hadoop.mapred.SkipBadRecords.setMapperMaxSkipRecords to set range of records to be skipped in the neighborhood of a failed record.
Resolution Date: 18/Sep/08 11:48 AM


 Description  « Hide
This is an incremental step over HADOOP-153.
If the number of skipped records in the neighborhood of a bad record are not acceptable to the user, then narrow down the skipped range to the user acceptable value.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Sharad Agarwal added a comment - 08/Aug/08 12:14 PM
This patch depends on the patch from HADOOP-153. Please apply 153_7.patch before applying this one.

The approach has been discussed earlier in HADOOP-153 as well. Here is the brief:

Defines user configurable MAPPER_MAX_SKIP_RECORDS/MAPPER_REDUCE_SKIP_RECORDS -> acceptable skipped records in the neighborhood of a bad record.
If skipped range is greater than this threshold, the task will try to narrow down the skipped range using a binary search kind of algorithm during task re-executions till this threshold is met or all task attempts are exhausted. The skipped range is divided into two halves and only one half get executed. Based on the subsequent failure, it figures out which half contains the bad record.


Sharad Agarwal added a comment - 21/Aug/08 12:50 PM
Attaching the working patch, while I continue to test.

Sharad Agarwal added a comment - 04/Sep/08 06:42 AM
fairly tested patch. few additional things:
  • moved counters from Counters.java to SkipBadRecords.java as these are specific to skip feature.
  • fixed hasNext in SortedRanges.SkipRangeIterator.
  • skipped records are not written to HDFS, if it is a test attempt (test attempt is to figure out whether a range is good or bad. In this only records in test range are passed to the mapper/reducer, others are skipped).
  • recordreader.next not called beyond the test range during test attempt.
  • renamed failedRanges to skipRanges in Task.java
  • added config params to hadoop-default

Sharad Agarwal added a comment - 08/Sep/08 06:02 AM
updated with the trunk.

Hadoop QA added a comment - 08/Sep/08 11:07 AM
+1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12389656/3829_v3.patch
against trunk revision 692996.

+1 @author. The patch does not contain any @author tags.

+1 tests included. The patch appears to include 5 new or modified tests.

+1 javadoc. The javadoc tool did not generate any warning messages.

+1 javac. The applied patch does not increase the total number of javac compiler warnings.

+1 findbugs. The patch does not introduce any new Findbugs warnings.

+1 core tests. The patch passed core unit tests.

+1 contrib tests. The patch passed contrib unit tests.

Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3205/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3205/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3205/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3205/console

This message is automatically generated.


Sharad Agarwal added a comment - 17/Sep/08 10:13 AM
Fixed an issue in ReduceTask#SkippingReduceValuesIterator.
Added more documentation to SkipBadRecords.
Made writing of skip records optional.
Incorporated Devaraj's offline comment to remove the SkipBadRecords.ENABLED flag as it is now redundant after the addition of MAPPER_MAX_SKIP_RECORDS/REDUCER_MAX_SKIP_GROUPS.

Sharad Agarwal added a comment - 17/Sep/08 10:14 AM
test-patch passed on my machine.

[exec] +1 overall.

[exec] +1 @author. The patch does not contain any @author tags.

[exec] +1 tests included. The patch appears to include 11 new or modified tests.

[exec] +1 javadoc. The javadoc tool did not generate any warning messages.

[exec] +1 javac. The applied patch does not increase the total number of javac compiler warnings.

[exec] +1 findbugs. The patch does not introduce any new Findbugs warnings.


Sharad Agarwal added a comment - 17/Sep/08 12:30 PM
ant test passed on my machine.

Hadoop QA added a comment - 18/Sep/08 03:31 AM
-1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12390255/3829_v4.patch
against trunk revision 696525.

+1 @author. The patch does not contain any @author tags.

+1 tests included. The patch appears to include 11 new or modified tests.

+1 javadoc. The javadoc tool did not generate any warning messages.

+1 javac. The applied patch does not increase the total number of javac compiler warnings.

+1 findbugs. The patch does not introduce any new Findbugs warnings.

-1 core tests. The patch failed core unit tests.

+1 contrib tests. The patch passed contrib unit tests.

Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3293/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3293/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3293/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3293/console

This message is automatically generated.


Sharad Agarwal added a comment - 18/Sep/08 05:10 AM
TestFileAppend2.testComplexAppend has failed on Hudson which is unrelated to this patch.

Devaraj Das added a comment - 18/Sep/08 11:48 AM
I just committed this. Thanks, Sharad!

Hudson added a comment - 22/Sep/08 03:18 PM