[
https://issues.apache.org/jira/browse/MAPREDUCE-2237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13029132#comment-13029132
]
Devaraj K commented on MAPREDUCE-2237:
--------------------------------------
Hi Arun,
{quote}Yes, the split was set to null to save memory. The fix should be trivial
- add the split info to all LaunchTaskAction objects in the HeartbeatResponse
object.{quote}
Adding the split info to LaunchTaskAction or keeping in MapTask without making
it as null does not give any difference. I think it is not good to add split
info in LaunchTaskAction which is specific to MapTask.
In 0.23 branch, problem is coming with splitMetaInfo. I think it is ok not to
make splitMetaInfo as null because it contains only splitLocation and
startOffset which are string and long fields.
> Lost heartbeat response containing MapTask throws NPE when it is resent
> -----------------------------------------------------------------------
>
> Key: MAPREDUCE-2237
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-2237
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: jobtracker
> Affects Versions: 0.20.2, 0.21.0, 0.22.0
> Reporter: Todd Lipcon
>
> When the JT sends a heartbeat response, it records it in
> trackerToHeartbeatResponseMap. But after MapTask writes its input split, it
> sets that split to null (assumedly to save memory?). So, if the heartbeat
> response is lost, and the JT needs to resend it, it will throw NPE since the
> split information has been lost.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira