Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRMRPCNodeUpdates.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRMRPCNodeUpdates.java (revision 1525866) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRMRPCNodeUpdates.java (working copy) @@ -116,7 +116,7 @@ MockNM nm3 = rm.registerNode("127.0.0.3:1234", 10000); MockNM nm4 = rm.registerNode("127.0.0.4:1234", 10000); - RMApp app1 = rm.submitApp(2000); + RMApp app1 = rm.submitAppWithoutAMResourceLimit(); // Trigger the scheduling so the AM gets 'launched' on nm1 nm1.nodeHeartbeat(true); @@ -170,7 +170,7 @@ Assert.assertEquals(NodeState.LOST, nr.getNodeState()); // registering another AM gives it the complete failed list - RMApp app2 = rm.submitApp(2000); + RMApp app2 = rm.submitAppWithoutAMResourceLimit(); // Trigger nm2 heartbeat so that AM gets launched on it nm2.nodeHeartbeat(true); RMAppAttempt attempt2 = app2.getCurrentAppAttempt(); Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRMRPCResponseId.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRMRPCResponseId.java (revision 1525866) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRMRPCResponseId.java (working copy) @@ -78,7 +78,7 @@ MockNM nm1 = rm.registerNode("h1:1234", 5000); - RMApp app = rm.submitApp(2000); + RMApp app = rm.submitAppWithoutAMResourceLimit(); // Trigger the scheduling so the AM gets 'launched' nm1.nodeHeartbeat(true); Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java (revision 1525866) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java (working copy) @@ -69,6 +69,8 @@ @SuppressWarnings("unchecked") public class MockRM extends ResourceManager { + private int minAMMemory = 1; + public MockRM() { this(new YarnConfiguration()); } @@ -84,7 +86,7 @@ setRMStateStore(store); } Logger rootLogger = LogManager.getRootLogger(); - rootLogger.setLevel(Level.DEBUG); + rootLogger.setLevel(Level.DEBUG); } public void waitForState(ApplicationId appId, RMAppState finalState) @@ -132,20 +134,34 @@ .getShortUserName()); } + public RMApp submitAppWithoutAMResourceLimit() throws Exception { + return submitApp(minAMMemory); + } + // client public RMApp submitApp(int masterMemory, String name, String user) throws Exception { return submitApp(masterMemory, name, user, null, false, null, super.getConfig().getInt(YarnConfiguration.RM_AM_MAX_ATTEMPTS, YarnConfiguration.DEFAULT_RM_AM_MAX_ATTEMPTS), null); } + + // client + public RMApp submitAppWithoutAMResourceLimit(String name, String user) throws Exception { + return submitApp(minAMMemory,name,user); + } public RMApp submitApp(int masterMemory, String name, String user, Map acls) throws Exception { return submitApp(masterMemory, name, user, acls, false, null, super.getConfig().getInt(YarnConfiguration.RM_AM_MAX_ATTEMPTS, YarnConfiguration.DEFAULT_RM_AM_MAX_ATTEMPTS), null); - } + } + public RMApp submitAppWithoutAMResourceLimit(String name, String user, + Map acls) throws Exception { + return submitApp(minAMMemory,name,user,acls); + } + public RMApp submitApp(int masterMemory, String name, String user, Map acls, String queue) throws Exception { return submitApp(masterMemory, name, user, acls, false, queue, @@ -153,6 +169,11 @@ YarnConfiguration.DEFAULT_RM_AM_MAX_ATTEMPTS), null); } + public RMApp submitAppWithoutAMResourceLimit(String name, String user, + Map acls, String queue) throws Exception { + return submitApp(minAMMemory,name,user,acls,queue); + } + public RMApp submitApp(int masterMemory, String name, String user, Map acls, boolean unmanaged, String queue, int maxAppAttempts, Credentials ts) throws Exception { @@ -160,6 +181,13 @@ maxAppAttempts, ts, null); } + public RMApp submitAppWithoutAMResourceLimit(String name, String user, + Map acls, boolean unmanaged, String queue, + int maxAppAttempts, Credentials ts) throws Exception { + return submitApp(minAMMemory, name, user, acls, unmanaged, queue, + maxAppAttempts, ts); + } + public RMApp submitApp(int masterMemory, String name, String user, Map acls, boolean unmanaged, String queue, int maxAppAttempts, Credentials ts, String appType) throws Exception { @@ -226,6 +254,14 @@ return getRMContext().getRMApps().get(appId); } + public RMApp submitAppWithoutAMResourceLimit(String name, String user, + Map acls, boolean unmanaged, String queue, + int maxAppAttempts, Credentials ts, String appType) throws Exception { + return submitApp(minAMMemory, name, user, + acls, unmanaged, queue, + maxAppAttempts, ts, appType); + } + public MockNM registerNode(String nodeIdStr, int memory) throws Exception { MockNM nm = new MockNM(nodeIdStr, memory, getResourceTrackerService()); nm.registerNode(); Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/TestSchedulerUtils.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/TestSchedulerUtils.java (revision 1525866) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/TestSchedulerUtils.java (working copy) @@ -290,7 +290,7 @@ Map acls = new HashMap(2); acls.put(ApplicationAccessType.VIEW_APP, "*"); - RMApp app = rm.submitApp(1024, "appname", "appuser", acls); + RMApp app = rm.submitAppWithoutAMResourceLimit("appname", "appuser", acls); nm1.nodeHeartbeat(true); Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestAMRMTokens.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestAMRMTokens.java (revision 1525866) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestAMRMTokens.java (working copy) @@ -100,7 +100,7 @@ try { MockNM nm1 = rm.registerNode("localhost:1234", 5120); - RMApp app = rm.submitApp(1024); + RMApp app = rm.submitAppWithoutAMResourceLimit(); nm1.nodeHeartbeat(true); @@ -201,7 +201,7 @@ try { MockNM nm1 = rm.registerNode("localhost:1234", 5120); - RMApp app = rm.submitApp(1024); + RMApp app = rm.submitAppWithoutAMResourceLimit(); nm1.nodeHeartbeat(true); Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestClientToAMTokens.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestClientToAMTokens.java (revision 1525866) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestClientToAMTokens.java (working copy) @@ -183,7 +183,7 @@ rm.start(); // Submit an app - RMApp app = rm.submitApp(1024); + RMApp app = rm.submitAppWithoutAMResourceLimit(); // Set up a node. MockNM nm1 = rm.registerNode("localhost:1234", 3072); Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAMAuthorization.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAMAuthorization.java (revision 1525866) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAMAuthorization.java (working copy) @@ -173,7 +173,7 @@ Map acls = new HashMap(2); acls.put(ApplicationAccessType.VIEW_APP, "*"); - RMApp app = rm.submitApp(1024, "appname", "appuser", acls); + RMApp app = rm.submitAppWithoutAMResourceLimit("appname", "appuser", acls); nm1.nodeHeartbeat(true); @@ -231,7 +231,7 @@ MockNM nm1 = rm.registerNode("localhost:1234", 5120); - RMApp app = rm.submitApp(1024); + RMApp app = rm.submitApp(512); nm1.nodeHeartbeat(true); Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationCleanup.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationCleanup.java (revision 1525866) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationCleanup.java (working copy) @@ -61,7 +61,7 @@ MockNM nm1 = rm.registerNode("127.0.0.1:1234", 5000); - RMApp app = rm.submitApp(2000); + RMApp app = rm.submitAppWithoutAMResourceLimit(); //kick the scheduling nm1.nodeHeartbeat(true); @@ -149,7 +149,7 @@ MockNM nm1 = rm.registerNode("127.0.0.1:1234", 5000); - RMApp app = rm.submitApp(2000); + RMApp app = rm.submitAppWithoutAMResourceLimit(); //kick the scheduling nm1.nodeHeartbeat(true); Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java (revision 1525866) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java (working copy) @@ -130,7 +130,7 @@ rm.start(); MockNM nm1 = rm.registerNode("127.0.0.1:1234", 5120); - RMApp app = rm.submitApp(2000); + RMApp app = rm.submitAppWithoutAMResourceLimit(); // kick the scheduling nm1.nodeHeartbeat(true); @@ -186,7 +186,7 @@ MockRM rm = new MockRM(); rm.start(); MockNM nm1 = rm.registerNode("h1:1234", 5000); - RMApp app = rm.submitApp(2000); + RMApp app = rm.submitAppWithoutAMResourceLimit(); // kick the scheduling nm1.nodeHeartbeat(true); RMAppAttempt attempt = app.getCurrentAppAttempt(); Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRM.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRM.java (revision 1525866) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRM.java (working copy) @@ -70,7 +70,7 @@ rm.start(); MockNM nm1 = rm.registerNode("h1:1234", 5120); - RMApp app = rm.submitApp(2000); + RMApp app = rm.submitAppWithoutAMResourceLimit(); //kick the scheduling nm1.nodeHeartbeat(true); @@ -93,7 +93,7 @@ MockNM nm1 = rm.registerNode("h1:1234", 5120); MockNM nm2 = rm.registerNode("h2:5678", 10240); - RMApp app = rm.submitApp(2000); + RMApp app = rm.submitApp(1500); //kick the scheduling nm1.nodeHeartbeat(true);