diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairSchedulerConfiguration.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairSchedulerConfiguration.java index 473c369..a96952d 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairSchedulerConfiguration.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairSchedulerConfiguration.java @@ -112,7 +112,7 @@ protected static final int DEFAULT_WAIT_TIME_BEFORE_KILL = 15000; /** Whether to assign multiple containers in one check-in. */ - protected static final String ASSIGN_MULTIPLE = CONF_PREFIX + "assignmultiple"; + public static final String ASSIGN_MULTIPLE = CONF_PREFIX + "assignmultiple"; protected static final boolean DEFAULT_ASSIGN_MULTIPLE = false; /** Whether to give more weight to apps requiring many resources. */ diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/ahs/TestRMApplicationHistoryWriter.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/ahs/TestRMApplicationHistoryWriter.java index e83a6b9..8aca3bc 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/ahs/TestRMApplicationHistoryWriter.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/ahs/TestRMApplicationHistoryWriter.java @@ -60,6 +60,9 @@ import org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttempt; import org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptState; import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainer; +import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler; +import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler; +import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairSchedulerConfiguration; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -351,10 +354,29 @@ private boolean allEventsHandled(int expected) { } @Test - public void testRMWritingMassiveHistory() throws Exception { + public void testRMWritingMassiveHistoryForFairSche() throws Exception { + //test WritingMassiveHistory for Fair Scheduler. + testRMWritingMassiveHistory(true); + } + + @Test + public void testRMWritingMassiveHistoryForCapacitySche() throws Exception { + //test WritingMassiveHistory for Capacity Scheduler. + testRMWritingMassiveHistory(false); + } + + private void testRMWritingMassiveHistory(boolean isFS) throws Exception { // 1. Show RM can run with writing history data // 2. Test additional workload of processing history events YarnConfiguration conf = new YarnConfiguration(); + if (isFS) { + conf.setBoolean(FairSchedulerConfiguration.ASSIGN_MULTIPLE, true); + conf.set("yarn.resourcemanager.scheduler.class", + FairScheduler.class.getName()); + } else { + conf.set("yarn.resourcemanager.scheduler.class", + CapacityScheduler.class.getName()); + } // don't process history events MockRM rm = new MockRM(conf) { @Override