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 e477e6e..928631d 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 @@ -85,11 +85,13 @@ /** Delay for node locality. */ protected static final String LOCALITY_DELAY_NODE_MS = CONF_PREFIX + "locality-delay-node-ms"; - protected static final long DEFAULT_LOCALITY_DELAY_NODE_MS = -1L; + protected static final long DEFAULT_LOCALITY_DELAY_NODE_MS = + 3 * YarnConfiguration.DEFAULT_RM_NM_HEARTBEAT_INTERVAL_MS; /** Delay for rack locality. */ protected static final String LOCALITY_DELAY_RACK_MS = CONF_PREFIX + "locality-delay-rack-ms"; - protected static final long DEFAULT_LOCALITY_DELAY_RACK_MS = -1L; + protected static final long DEFAULT_LOCALITY_DELAY_RACK_MS = + 3 * YarnConfiguration.DEFAULT_RM_NM_HEARTBEAT_INTERVAL_MS; /** Enable continuous scheduling or not. */ protected static final String CONTINUOUS_SCHEDULING_ENABLED = CONF_PREFIX + "continuous-scheduling-enabled"; diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java index 98877e7..4309051 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java @@ -217,6 +217,21 @@ public void testLoadConfigurationOnInitialize() throws IOException { Assert.assertEquals(128, scheduler.getIncrementResourceCapability().getMemory()); } + + @Test + public void testDefaultDelayEnable() { + scheduler = new FairScheduler(); + Configuration config = createConfiguration(); + try { + scheduler.serviceInit(config); + } catch (Exception e) { + fail("Failed to initialize FairScheduler in testDefaultDelayEnable" + e); + } + Assert.assertEquals(3 * YarnConfiguration.DEFAULT_RM_NM_HEARTBEAT_INTERVAL_MS, + scheduler.nodeLocalityDelayMs); + Assert.assertEquals(3 * YarnConfiguration.DEFAULT_RM_NM_HEARTBEAT_INTERVAL_MS, + scheduler.rackLocalityDelayMs); + } @Test public void testNonMinZeroResourcesSettings() throws IOException {