commit 60028bcff2084cad812c45a36f5ab77a3df28597 Author: Wangda Tan Date: Sun Mar 25 16:06:32 2018 -0700 [TO-CREATE-YARN_JIRA] make sourceFile honored by native service framework Change-Id: I55be1d645c4154e3f0452286f13840b9f7170cfc diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/ProviderUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/ProviderUtils.java index d65a1969a13..2e7b349980a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/ProviderUtils.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/provider/ProviderUtils.java @@ -199,7 +199,20 @@ public static synchronized void createConfigFileAndAddLocalResource( .replaceAll(Pattern.quote(token.getKey()), token.getValue())); } - Path remoteFile = new Path(compInstanceDir, fileName); + // When source file not specified, upload new configs to + // {{compInstanceDir/fileName}} + // Otherwise, use sourceFile. + String sourceFile = configFile.getSrcFile(); + Path remoteFile; + if (sourceFile == null) { + remoteFile = new Path(compInstanceDir, fileName); + } else { + remoteFile = new Path(sourceFile); + } + + log.info("Use remote file = " + remoteFile); + + // Output properties to sourceFile if not existed. if (!fs.getFileSystem().exists(remoteFile)) { log.info("Saving config file on hdfs for component " + instance .getCompInstanceName() + ": " + configFile);