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/client/ServiceClient.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/client/ServiceClient.java index 46bfa7a4564..9a2b5d6f13a 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/client/ServiceClient.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/client/ServiceClient.java @@ -1008,6 +1008,9 @@ ApplicationId submitApp(Service app) throws IOException, YarnException { // copy local slideram-log4j.properties to hdfs and add to localResources boolean hasAMLog4j = addAMLog4jResource(serviceName, conf, localResources); + // dependency tarball path from app precedes + fs.setDependencyTarballPath(app.getConfiguration().getProperty( + YarnServiceConf.DEPENDENCY_TARBALL_PATH)); // copy jars to hdfs and add to localResources addJarResource(serviceName, localResources); // add keytab if in secure env @@ -1285,9 +1288,6 @@ protected Path addJarResource(String serviceName, Map localResources) throws IOException, YarnException { Path libPath = fs.buildClusterDirPath(serviceName); - ProviderUtils - .addProviderJar(localResources, ServiceMaster.class, SERVICE_CORE_JAR, fs, - libPath, "lib", false); Path dependencyLibTarGzip = fs.getDependencyTarGzip(); if (actionDependency(null, false) == EXIT_SUCCESS) { LOG.info("Loading lib tar from " + dependencyLibTarGzip); 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/utils/CoreFileSystem.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/utils/CoreFileSystem.java index 0ee8e839807..6ef8875e624 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/utils/CoreFileSystem.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/utils/CoreFileSystem.java @@ -57,6 +57,7 @@ protected final FileSystem fileSystem; protected final Configuration configuration; + private String dependencyTarballPath = null; public CoreFileSystem(FileSystem fileSystem, Configuration configuration) { Preconditions.checkNotNull(fileSystem, @@ -73,6 +74,10 @@ public CoreFileSystem(Configuration configuration) throws IOException { this.fileSystem = FileSystem.get(configuration); this.configuration = configuration; } + + public void setDependencyTarballPath(String dependencyTarballPath) { + this.dependencyTarballPath = dependencyTarballPath; + } /** * Get the temp path for this cluster @@ -359,8 +364,9 @@ public Path getBaseApplicationPath() { */ public Path getDependencyTarGzip() { Path dependencyLibTarGzip = null; - String configuredDependencyTarballPath = configuration - .get(YarnServiceConf.DEPENDENCY_TARBALL_PATH); + String configuredDependencyTarballPath = this.dependencyTarballPath != null + ? this.dependencyTarballPath : configuration + .get(YarnServiceConf.DEPENDENCY_TARBALL_PATH); if (configuredDependencyTarballPath != null) { dependencyLibTarGzip = new Path(configuredDependencyTarballPath); }