Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.17.0
-
None
-
None
Description
It looks like SequenceFile::RecordCompressWriter and SequenceFile::BlockCompressWriter weren't updated to use the new serialization added in HADOOP-1986. This causes failures in the merge when mapred.compress.map.output is true and mapred.map.output.compression.type=BLOCK:
java.io.IOException: File is corrupt! at org.apache.hadoop.io.SequenceFile$Reader.readBlock(SequenceFile.java:1656) at org.apache.hadoop.io.SequenceFile$Reader.nextRawKey(SequenceFile.java:1969) at org.apache.hadoop.io.SequenceFile$Sorter$SegmentDescriptor.nextRawKey(SequenceFile.java:2985) at org.apache.hadoop.io.SequenceFile$Sorter$MergeQueue.merge(SequenceFile.java:2785) at org.apache.hadoop.io.SequenceFile$Sorter.merge(SequenceFile.java:2494) at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.mergeParts(MapTask.java:654) at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:740) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:212) at org.apache.hadoop.mapred.TaskTracker$Child.main(TaskTracker.java:2077)
mapred.map.output.compression.type=RECORD works for Writables, but should be updated.
Attachments
Attachments
Issue Links
- blocks
-
HADOOP-2919 Create fewer copies of buffer data during sort/spill
- Closed