[ 
https://issues.apache.org/jira/browse/MAPREDUCE-50?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13204667#comment-13204667
 ] 

Steve Loughran commented on MAPREDUCE-50:
-----------------------------------------

I've seen logs in emails that indicate this is still possible to arise in the 
0.20.20x series.

The problem is that the {{ScriptBasedMapping.RawScriptMapping.resolve()} method 
behaves as follows
 # return "/default-rack" if there is no script
 # return null if the script fails
 # {{CachedDNSToSwitchMapping.resolve()} (which invokes this inner resolve) 
sees the null pointer, doesn't add those entries to its cache, then builds a 
list of results for each supplied argument -and for unknown hosts returns null.
 # The JobTracker doesn't expect null.

What to do?
 * The WARN could somehow be raised to a higher level so that it doesn't get 
lost to the user -or the error message changed to be more meaningful to users 
who don't want to delve into the source. 
 * The JT (and its YARN successor) need a policy of handling null-ness.
 * Better preflight checking of the shell script

Unit tests could verify how the Namenode, JT and RM handle null entries with a 
switch mapping that returns null always; trivial.
                
> NPE in heartbeat when the configured topology script doesn't exist
> ------------------------------------------------------------------
>
>                 Key: MAPREDUCE-50
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-50
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>            Reporter: Vinod Kumar Vavilapalli
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to