YARN-2452. TestRMApplicationHistoryWriter fails with FairScheduler. (Zhihai Xu via kasha)

(cherry picked from commit c50fc92502)
This commit is contained in:
Karthik Kambatla 2014-09-21 13:14:01 -07:00
parent 4a77729a1c
commit 1714af0618
3 changed files with 27 additions and 2 deletions

View File

@ -376,6 +376,9 @@ Release 2.6.0 - UNRELEASED
YARN-2460. Remove obsolete entries from yarn-default.xml (Ray Chiang via YARN-2460. Remove obsolete entries from yarn-default.xml (Ray Chiang via
aw) aw)
YARN-2452. TestRMApplicationHistoryWriter fails with FairScheduler.
(Zhihai Xu via kasha)
Release 2.5.1 - 2014-09-05 Release 2.5.1 - 2014-09-05
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -112,7 +112,7 @@ public class FairSchedulerConfiguration extends Configuration {
protected static final int DEFAULT_WAIT_TIME_BEFORE_KILL = 15000; protected static final int DEFAULT_WAIT_TIME_BEFORE_KILL = 15000;
/** Whether to assign multiple containers in one check-in. */ /** 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; protected static final boolean DEFAULT_ASSIGN_MULTIPLE = false;
/** Whether to give more weight to apps requiring many resources. */ /** Whether to give more weight to apps requiring many resources. */

View File

@ -60,6 +60,9 @@ import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppState;
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttempt; 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.rmapp.attempt.RMAppAttemptState;
import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainer; 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.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@ -369,10 +372,29 @@ public class TestRMApplicationHistoryWriter {
} }
@Test @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 // 1. Show RM can run with writing history data
// 2. Test additional workload of processing history events // 2. Test additional workload of processing history events
YarnConfiguration conf = new YarnConfiguration(); 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 // don't process history events
MockRM rm = new MockRM(conf) { MockRM rm = new MockRM(conf) {
@Override @Override