diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java index a91c212b5c9..d35d52b4adf 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java @@ -106,7 +106,7 @@ public class AppInfo { protected String appNodeLabelExpression; protected String amNodeLabelExpression; - protected ResourcesInfo resourceInfo; + protected ResourcesInfo resourceInfo = null; public AppInfo() { } // JAXB needs this @@ -219,7 +219,7 @@ public AppInfo(ResourceManager rm, RMApp app, Boolean hasAccess, .getApplicationAttempt(attempt.getAppAttemptId()); resourceInfo = null != ficaAppAttempt ? new ResourcesInfo(ficaAppAttempt.getSchedulingResourceUsage()) - : new ResourcesInfo(); + : null; } } } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServiceAppsNodelabel.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServiceAppsNodelabel.java index 5c99614e162..0f2b6eaab43 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServiceAppsNodelabel.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServiceAppsNodelabel.java @@ -19,6 +19,8 @@ package org.apache.hadoop.yarn.server.resourcemanager.webapp; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.util.ArrayList; import java.util.HashSet; @@ -157,8 +159,12 @@ public void testAppsFinished() throws JSONException, Exception { JSONObject json = response.getEntity(JSONObject.class); JSONObject apps = json.getJSONObject("apps"); assertEquals("incorrect number of elements", 1, apps.length()); - Object object = apps.getJSONArray("app").getJSONObject(0).get("resourceInfo"); - Assert.assertTrue("For finshed app null expected", object.equals(null)); + try { + apps.getJSONArray("app").getJSONObject(0).getJSONObject("resourceInfo"); + fail("resourceInfo object shouldnt be available for finished apps"); + } catch (Exception e) { + assertTrue("resourceInfo shouldn't be available for finished apps", true); + } rm.stop(); }