[ https://issues.apache.org/jira/browse/MAPREDUCE-1740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Harsh J updated MAPREDUCE-1740: ------------------------------- Target Version/s: 1.1.0 This should be fixed for 1.x as it is pretty serious, and can bring the JT scheduler down on its knees. One strace: {code} INFO org.apache.hadoop.ipc.Server: IPC Server handler 2 on 8021, call heartbeat(org.apache.hadoop.mapred.TaskTrackerStatus, false, false, true, ...) from xyzzy:abcdef: error: java.io.IOException: java.lang.NullPointerException java.io.IOException: java.lang.NullPointerException at org.apache.hadoop.mapred.JobInProgress.getMatchingLevelForNodes(JobInProgress.java:1676) at org.apache.hadoop.mapred.JobInProgress.getLocalityLevel(JobInProgress.java:3354) at org.apache.hadoop.mapred.JobInProgress.addRunningTaskToTIP(JobInProgress.java:1752) at org.apache.hadoop.mapred.JobInProgress.obtainNewMapTask(JobInProgress.java:1341) at org.apache.hadoop.mapred.JobSchedulable.assignTask(JobSchedulable.java:142) at org.apache.hadoop.mapred.PoolSchedulable.assignTask(PoolSchedulable.java:160) at org.apache.hadoop.mapred.FairScheduler.assignTasks(FairScheduler.java:440) at org.apache.hadoop.mapred.JobTracker.heartbeat(JobTracker.java:3226) at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:557) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1434) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1430) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1127) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1428) {code} > NPE in getMatchingLevelForNodes when node locations are variable depth > ---------------------------------------------------------------------- > > Key: MAPREDUCE-1740 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-1740 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: jobtracker > Affects Versions: 0.20.3 > Reporter: Todd Lipcon > Attachments: mapreduce-1740.txt > > > In getMatchingLevelForNodes, we assume that both nodes have the same "depth" > (ie number of path components). If the user provides a topology script that > assigns one node a path like /foo/bar/baz and another node a path like > /foo/blah, this function will throw an NPE. > I'm not sure if there are other places where we assume that all node > locations have a constant number of paths. If so we should check the output > of the topology script aggressively to be sure this is the case. Otherwise I > think we simply need to add && n2 != null to the while loop -- 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