incrementing counters should not be used for triggering record skipping
-----------------------------------------------------------------------

                 Key: HADOOP-4718
                 URL: https://issues.apache.org/jira/browse/HADOOP-4718
             Project: Hadoop Core
          Issue Type: Bug
          Components: mapred
            Reporter: Owen O'Malley


The following code is really problematic:

{code}
public void incrCounter(String group, String counter, long amount) {
  if (counters != null) {
    counters.incrCounter(group, counter, amount);
  }
  if(skipping && SkipBadRecords.COUNTER_GROUP.equals(group) && (
     SkipBadRecords.COUNTER_MAP_PROCESSED_RECORDS.equals(counter) ||
     SkipBadRecords.COUNTER_REDUCE_PROCESSED_GROUPS.equals(counter))) {
     //if application reports the processed records, move the 
     //currentRecStartIndex to the next.
     //currentRecStartIndex is the start index which has not yet been 
     //finished and is still in task's stomach.
     for(int i=0;i<amount;i++) {
        currentRecStartIndex = currentRecIndexIterator.next();
     }
   ...
}
{code}

In particular, if the user updates a counter with the wrong name, bad things 
will presumably happen...

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