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

Robert Joseph Evans commented on MAPREDUCE-4233:
------------------------------------------------

I don't really know why the tests failed.  They pass for me when I run them 
manually. It almost looks like for some reason the tests were run against an 
unchanged version of RMNMInfo.  The error for 
org.apache.hadoop.mapreduce.v2.TestRMNMInfo.testRMNMInfoMissmatch shows

{noformat}
java.lang.NullPointerException
        at 
org.apache.hadoop.yarn.server.resourcemanager.RMNMInfo.getLiveNodeManagers(RMNMInfo.java:96)
        at 
org.apache.hadoop.mapreduce.v2.TestRMNMInfo.testRMNMInfoMissmatch(TestRMNMInfo.java:146)
        ...
{noformat}

As the cause of the error.  But RMNMInfo.java:96 in the new code is {code} 
if(report != null) { {code} which is impossible to throw a null pointer 
exception.

My guess is that this is related to the test patch changes, and maven is 
somehow confused by running the tests from testpatch without installing the 
jars in the M2 directory first.
                
> NPE can happen in RMNMNodeInfo.
> -------------------------------
>
>                 Key: MAPREDUCE-4233
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4233
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 0.23.3
>            Reporter: Robert Joseph Evans
>            Assignee: Robert Joseph Evans
>            Priority: Critical
>         Attachments: MR-4233.txt
>
>
> {noformat}
> Caused by: java.lang.NullPointerException
>         at 
> org.apache.hadoop.yarn.server.resourcemanager.RMNMInfo.getLiveNodeManagers(RMNMInfo.java:96)
>         at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at 
> com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
>         at 
> com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
>         at 
> com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
>         at 
> com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:65)
>         at 
> com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:216)
>         at javax.management.StandardMBean.getAttribute(StandardMBean.java:358)
>         at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:666)
> {noformat}
> Looks like rmcontext.getRMNodes() is not kept in sync with 
> scheduler.getNodeReport(), so that the report can be null even though the 
> context still knowns about the node.
> The simple fix is to add in a null check.

--
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