Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
0.20.3, 0.21.1, 0.22.0
-
None
-
None
-
Reviewed
Description
IFile assumes that when it has a codec it can always get a compressor. This fails when mapred.compress.map.output is true but the native libraries are not installed, resulting in an NPE:
java.lang.NullPointerException at org.apache.hadoop.mapred.IFile$Writer.<init>(IFile.java:102) at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1198) at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1091) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:359) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307) at org.apache.hadoop.mapred.Child.main(Child.java:170)
Let's make IFile handle this case by logging and using non-compressed streams.l