[
https://issues.apache.org/jira/browse/MAPREDUCE-4233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13272762#comment-13272762
]
Ahmed Radwan commented on MAPREDUCE-4233:
-----------------------------------------
Thanks Bobby!
Just to have complete context, were Fifo or Capacity scheduler used when you
saw this problem?
+1 for the patch. Nit: I would suggest adding a special value to the InfoMap in
case (report == null) that corresponds to the keys: "NumContainersMB",
"UsedMemoryMB" and "AvailableMemoryMB". Something like "Scheduler report
unavailable". This will help identifying these cases in the node managers'
statuses, on the other hand if these key/value pairs are missing from the
InfoMap, there is no clue why they are missing.
> 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