Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
1.2.1
-
None
Description
In branch 1 job commit is executed in a JOB_CLEANUP task that may run in either map or reduce slot
in org.apache.hadoop.mapreduce.Job#setUseNewAPI there is a logic setting new-api flag only for reduce-ful jobs.
if (numReduces != 0) { conf.setBooleanIfUnset("mapred.reducer.new-api", conf.get(oldReduceClass) == null); ...
Therefore, when cleanup runs in a reduce slot, ReduceTask inits using the old API and runs incorrect default OutputCommitter, instead of consulting OutputFormat.