[ 
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

Reply via email to