YARN-1083. Changed ResourceManager to fail when the expiry interval is less than the configured node-heartbeat interval. Contributed by Zhijie Shen.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1518036 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
914a0e5172
commit
ca5de53bc6
|
@ -54,6 +54,9 @@ Release 2.1.1-beta - UNRELEASED
|
|||
YARN-942. In Fair Scheduler documentation, inconsistency on which
|
||||
properties have prefix (Akira Ajisaka via Sandy Ryza)
|
||||
|
||||
YARN-1083. Changed ResourceManager to fail when the expiry interval is less
|
||||
than the configured node-heartbeat interval. (Zhijie Shen via vinodkv)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
BUG FIXES
|
||||
|
|
|
@ -365,6 +365,20 @@ public class ResourceManager extends CompositeService implements Recoverable {
|
|||
+ ", " + YarnConfiguration.RM_AM_MAX_ATTEMPTS
|
||||
+ "=" + globalMaxAppAttempts + ", it should be a positive integer.");
|
||||
}
|
||||
|
||||
// validate expireIntvl >= heartbeatIntvl
|
||||
long expireIntvl = conf.getLong(YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS,
|
||||
YarnConfiguration.DEFAULT_RM_NM_EXPIRY_INTERVAL_MS);
|
||||
long heartbeatIntvl =
|
||||
conf.getLong(YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS,
|
||||
YarnConfiguration.DEFAULT_RM_NM_HEARTBEAT_INTERVAL_MS);
|
||||
if (expireIntvl < heartbeatIntvl) {
|
||||
throw new YarnRuntimeException("Nodemanager expiry interval should be no"
|
||||
+ " less than heartbeat interval, "
|
||||
+ YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS + "=" + expireIntvl
|
||||
+ ", " + YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS + "="
|
||||
+ heartbeatIntvl);
|
||||
}
|
||||
}
|
||||
|
||||
@Private
|
||||
|
|
|
@ -203,4 +203,21 @@ public class TestResourceManager {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNMExpiryAndHeartbeatIntervalsValidation() throws Exception {
|
||||
Configuration conf = new YarnConfiguration();
|
||||
conf.setLong(YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS, 1000);
|
||||
conf.setLong(YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS, 1001);
|
||||
resourceManager = new ResourceManager();;
|
||||
try {
|
||||
resourceManager.init(conf);
|
||||
} catch (YarnRuntimeException e) {
|
||||
// Exception is expected.
|
||||
if (!e.getMessage().startsWith("Nodemanager expiry interval should be no"
|
||||
+ " less than heartbeat interval")) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue