Nathan Roberts created MAPREDUCE-5308:
-----------------------------------------
Summary: Shuffling to memory can get out-of-sync when fetching
multiple compressed map outputs
Key: MAPREDUCE-5308
URL: https://issues.apache.org/jira/browse/MAPREDUCE-5308
Project: Hadoop Map/Reduce
Issue Type: Bug
Affects Versions: 0.23.8, 2.0.3-alpha, trunk
Reporter: Nathan Roberts
Assignee: Nathan Roberts
When a reducer is fetching multiple compressed map outputs from a host, the
fetcher can get out-of-sync with the IFileInputStream, causing several of the
maps to fail to fetch.
This occurs because decompressors can return all the decompressed bytes before
actually processing all the bytes in the compressed stream (due to checksums or
other trailing data that we ignore). In the unfortunate case where these extra
bytes cross an io.file.buffer.size boundary, some extra bytes will be left over
and the next map_output will not fetch correctly (usually due to an invalid
map_id).
This scenario is not typically fatal to a job because the failure is charged to
the map_output immediately following the "bad" one and the subsequent retry
will normally work.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira