Sometimes mapper child process requires different JVM settings than reducer. For example when mapper requires much more memory than reducer.
Now it's only possible to set options for both using mapred.child.java.opts.
Proposed solution: mapred.child.java.opts could be overwritten by mapred.child.map.java.opts or mapred.child.reduce.java.opts. Thus, we're adding more flexibility and compatibility with old configurations.
The same should be done for mapred.child.env.