diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java index b467877664f93d5d7e0c0692b6fcb2197d4997b0..accbbfdd206044332b4f6c151605486adb210695 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java @@ -192,7 +192,14 @@ protected void serviceInit(Configuration conf) throws Exception { .RM_WORK_PRESERVING_RECOVERY_ENABLED, YarnConfiguration.DEFAULT_RM_WORK_PRESERVING_RECOVERY_ENABLED); - initAndStartRecoveryStore(conf); + try { + initAndStartRecoveryStore(conf); + } catch (IOException e) { + String recoveryDirName = conf.get(YarnConfiguration.NM_RECOVERY_DIR); + throw new + YarnRuntimeException("Unable to initialize recovery directory at " + + recoveryDirName, e); + } NMContainerTokenSecretManager containerTokenSecretManager = new NMContainerTokenSecretManager(conf, nmStore);