yiheng commented on a change in pull request #165: [LIVY-581] Fix edge-case where livy overrides user-provided spark properties instead of appending URL: https://github.com/apache/incubator-livy/pull/165#discussion_r348934926
########## File path: server/src/main/scala/org/apache/livy/server/interactive/InteractiveSession.scala ########## @@ -286,16 +286,33 @@ object InteractiveSession extends Logging { } def mergeHiveSiteAndHiveDeps(sparkMajorVersion: Int): Unit = { - val sparkFiles = conf.get("spark.files").map(_.split(",")).getOrElse(Array.empty[String]) - hiveSiteFile(sparkFiles, livyConf) match { + val yarnFiles = conf.get(LivyConf.SPARK_YARN_DIST_FILES) + .map(_.split(",")).getOrElse(Array.empty[String]) + val sparkFiles = conf.get(LivyConf.SPARK_FILES) + .map(_.split(",")).getOrElse(Array.empty[String]) + var files = Array.empty[String] + if (!sparkFiles.isEmpty || yarnFiles.isEmpty) files = sparkFiles else files = yarnFiles + hiveSiteFile(files, livyConf) match { case (_, true) => debug("Enable HiveContext because hive-site.xml is found in user request.") - mergeConfList(datanucleusJars(livyConf, sparkMajorVersion), LivyConf.SPARK_JARS) + if (conf.get(LivyConf.SPARK_JARS) != None || conf.get(LivyConf.SPARK_YARN_JARS) == None) { Review comment: I feel like it's not so straight forward here. In the JIRA description: >Now what seems to happen is that if all of spark.files, spark.jars, spark.yarn.dist.files, and spark.yarn.jars are non-null when the job is submitted (spark.files spark.jars filled in by livy and spark.yarn.dist.files spark.yarn.jars filled in by the user-request from our platform),spark.yarn.dist.files gets set to spark.files and spark.yarn.jars gets set to spark.jars Should we change the `set` behavior to `merge` where the job is submitted? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services