You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by GitBox <gi...@apache.org> on 2021/06/29 02:42:22 UTC

[GitHub] [spark] sarutak opened a new pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

sarutak opened a new pull request #33121:
URL: https://github.com/apache/spark/pull/33121


   ### What changes were proposed in this pull request?
   <!--
   Please clarify what changes you are proposing. The purpose of this section is to outline the changes and how this PR fixes the issue. 
   If possible, please consider writing useful notes for better and faster reviews in your PR. See the examples below.
     1. If you refactor some codes with changing classes, showing the class hierarchy will help reviewers.
     2. If you fix some SQL features, you can provide some references of other DBMSes.
     3. If there is design documentation, please add the link.
     4. If there is a discussion in the mailing list, please add the link.
   -->
   This PR changes `SparkBuild.scala` to edit `config.properties` in `yarn` sub-module in build with SBT like as build with Maven does.
   
   ### Why are the changes needed?
   <!--
   Please clarify why the changes are needed. For instance,
     1. If you propose a new API, clarify the use case for a new API.
     2. If you fix a bug, you can clarify why it is a bug.
   -->
   yarn sub-module contains config.properties.
   ```
   spark.yarn.isHadoopProvided = ${spark.yarn.isHadoopProvided}
   ```
   
   The `${spark.yarn.isHadoopProvided}` part is replaced with `true` or `false` in build depending on whether Hadoop is provided or not (specified by -Phadoop-provided).
   The edited config.properties will be loaded at runtime to control how to populate Hadoop-related classpath.
   
   If we build with Maven, these process works but doesn't with SBT.
   
   If we build with SBT and deploy apps on YARN, the following warning appears and classpath is not populated correctly.
   ```
   21/06/29 10:51:20 WARN config.package: Can not load the default value of `spark.yarn.isHadoopProvided` from `org/apache/spark/deploy/yarn/config.properties` with error, java.lang.IllegalArgumentException: For input string: "${spark.yarn.isHadoopProvided}". Using `false` as a default value.
   ```
   
   ### Does this PR introduce _any_ user-facing change?
   <!--
   Note that it means *any* user-facing change including all aspects such as the documentation fix.
   If yes, please clarify the previous behavior and the change this PR proposes - provide the console output, description and/or an example to show the behavior difference if possible.
   If possible, please also clarify if this is a user-facing change compared to the released Spark versions or within the unreleased branches such as master.
   If no, write 'No'.
   -->
   No.
   
   ### How was this patch tested?
   <!--
   If tests were added, say they were added here. Please make sure to add some test cases that check the changes thoroughly including negative and positive cases if possible.
   If it was tested in a way different from regular unit tests, please clarify how you tested step by step, ideally copy and paste-able, so that other reviewers can test and check, and descendants can verify in the future.
   If tests were not added, please describe why they were not added and/or why it was difficult to add.
   -->
   Built with SBT and extracted `config.properties` from the build artifact and confirmed `${spark.yarn.isHadoopProvided} was correctly edited with `true` or `false`.
   ```
   cat org/apache/spark/deploy/yarn/config.properties 
   spark.yarn.isHadoopProvided = false                                # In case build with -Pyarn and without -Phadoop-provided
   spark.yarn.isHadoopProvided = true                                 # In case build with -Pyarn and -Phadoop-provided
   ```
   I also confirmed the warning message shown above no longer appears.


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] dbtsai closed pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
dbtsai closed pull request #33121:
URL: https://github.com/apache/spark/pull/33121


   


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] HyukjinKwon commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
HyukjinKwon commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660259806



##########
File path: project/SparkBuild.scala
##########
@@ -413,6 +413,9 @@ object SparkBuild extends PomBuild {
 
   enable(KubernetesIntegrationTests.settings)(kubernetesIntegrationTests)
 
+  if (profiles.contains("hadoop-provided")) {
+    sys.props("spark.yarn.isHadoopProvided") = "true"
+  }

Review comment:
       nit but would it be better to move this logic into the `YARN`?




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] sarutak commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
sarutak commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660273233



##########
File path: project/SparkBuild.scala
##########
@@ -413,6 +413,9 @@ object SparkBuild extends PomBuild {
 
   enable(KubernetesIntegrationTests.settings)(kubernetesIntegrationTests)
 
+  if (profiles.contains("hadoop-provided")) {
+    sys.props("spark.yarn.isHadoopProvided") = "true"
+  }

Review comment:
       `profiles` cannot be referred from `YARN` but I found another better way.

##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +805,29 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+      Compile / unmanagedResources :=
+        (Compile / unmanagedResources).value.filter(!_.getName.endsWith(s"$propFileName")),
+      genConfigProperties := {
+        val file = (Compile / classDirectory).value / s"org/apache/spark/deploy/yarn/$propFileName"
+        val isHadoopProvided = sys.props.getOrElse("spark.yarn.isHadoopProvided", "false")
+        IO.write(file, s"spark.yarn.isHadoopProvided = $isHadoopProvided")
+      },
+      (Compile / copyResources) := (Def.taskDyn {
+        val c = (Compile / copyResources).value
+          Def.task {

Review comment:
       Oh, I was confused because `Seq` is nested... Thanks.

##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +805,29 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+      Compile / unmanagedResources :=

Review comment:
       Oh, I was confused because `Seq` is nested... Thanks.

##########
File path: project/SparkBuild.scala
##########
@@ -413,6 +413,9 @@ object SparkBuild extends PomBuild {
 
   enable(KubernetesIntegrationTests.settings)(kubernetesIntegrationTests)
 
+  if (profiles.contains("hadoop-provided")) {
+    sys.props("spark.yarn.isHadoopProvided") = "true"
+  }

Review comment:
       Thanks, I found another better way rather than manually do `sys.props("spark.yarn.isHadoopProvided") = "true"`.

##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +802,30 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+  val hadoopProvidedProp = "spark.yarn.isHadoopProvided"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+    Compile / unmanagedResources :=
+      (Compile / unmanagedResources).value.filter(!_.getName.endsWith(s"$propFileName")),
+    genConfigProperties := {
+      val file = (Compile / classDirectory).value / s"org/apache/spark/deploy/yarn/$propFileName"
+      val isHadoopProvided = SbtPomKeys.effectivePom.value.getProperties.get(hadoopProvidedProp)
+      IO.write(file, s"$hadoopProvidedProp = $isHadoopProvided")
+    },
+    (Compile / copyResources) := (Def.taskDyn {
+      val c = (Compile / copyResources).value
+        Def.task {

Review comment:
       Ah, still mis-intended. I'll fix it.

##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +805,29 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+      Compile / unmanagedResources :=
+        (Compile / unmanagedResources).value.filter(!_.getName.endsWith(s"$propFileName")),
+      genConfigProperties := {
+        val file = (Compile / classDirectory).value / s"org/apache/spark/deploy/yarn/$propFileName"
+        val isHadoopProvided = sys.props.getOrElse("spark.yarn.isHadoopProvided", "false")
+        IO.write(file, s"spark.yarn.isHadoopProvided = $isHadoopProvided")
+      },
+      (Compile / copyResources) := (Def.taskDyn {
+        val c = (Compile / copyResources).value
+          Def.task {

Review comment:
       Oh, I was confused because `Seq` is nested... Thanks.




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] sarutak commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
sarutak commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660276243



##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +802,30 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+  val hadoopProvidedProp = "spark.yarn.isHadoopProvided"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+    Compile / unmanagedResources :=
+      (Compile / unmanagedResources).value.filter(!_.getName.endsWith(s"$propFileName")),
+    genConfigProperties := {
+      val file = (Compile / classDirectory).value / s"org/apache/spark/deploy/yarn/$propFileName"
+      val isHadoopProvided = SbtPomKeys.effectivePom.value.getProperties.get(hadoopProvidedProp)
+      IO.write(file, s"$hadoopProvidedProp = $isHadoopProvided")
+    },
+    (Compile / copyResources) := (Def.taskDyn {
+      val c = (Compile / copyResources).value
+        Def.task {

Review comment:
       Ah, still mis-intended. I'll fix it.




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] HyukjinKwon commented on pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
HyukjinKwon commented on pull request #33121:
URL: https://github.com/apache/spark/pull/33121#issuecomment-870242513


   LGTM


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] HyukjinKwon commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
HyukjinKwon commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660259216



##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +805,29 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+      Compile / unmanagedResources :=

Review comment:
       nit but looks like should indent 2 spaces back for these




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] SparkQA commented on pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33121:
URL: https://github.com/apache/spark/pull/33121#issuecomment-870955304


   **[Test build #140360 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140360/testReport)** for PR 33121 at commit [`c4b2dd2`](https://github.com/apache/spark/commit/c4b2dd24e42ef192d9cd587c8eada90adf3fb478).
    * This patch passes all tests.
    * This patch merges cleanly.
    * This patch adds the following public classes _(experimental)_:
     * `sealed trait FieldPosition extends LeafExpression with Unevaluable `
     * `case class UnresolvedFieldPosition(`
     * `case class ResolvedFieldName(path: Seq[String], field: StructField) extends FieldName `
     * `case class ResolvedFieldPosition(position: ColumnPosition) extends FieldPosition`
     * `case class ArraysZip(children: Seq[Expression], names: Seq[Expression])`
     * `case class AlterTableAlterColumn(`
     * `case class ShowCreateTableExec(`


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] sarutak commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
sarutak commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660275536



##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +805,29 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+      Compile / unmanagedResources :=

Review comment:
       Oh, I was confused because `Seq` is nested... Thanks.




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] sarutak commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
sarutak commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660273331



##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +805,29 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+      Compile / unmanagedResources :=
+        (Compile / unmanagedResources).value.filter(!_.getName.endsWith(s"$propFileName")),
+      genConfigProperties := {
+        val file = (Compile / classDirectory).value / s"org/apache/spark/deploy/yarn/$propFileName"
+        val isHadoopProvided = sys.props.getOrElse("spark.yarn.isHadoopProvided", "false")
+        IO.write(file, s"spark.yarn.isHadoopProvided = $isHadoopProvided")
+      },
+      (Compile / copyResources) := (Def.taskDyn {
+        val c = (Compile / copyResources).value
+          Def.task {

Review comment:
       Oh, I was confused because `Seq` is nested... Thanks.




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] dbtsai commented on pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
dbtsai commented on pull request #33121:
URL: https://github.com/apache/spark/pull/33121#issuecomment-870929106


   LGTM too.


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] SparkQA removed a comment on pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
SparkQA removed a comment on pull request #33121:
URL: https://github.com/apache/spark/pull/33121#issuecomment-870824270


   **[Test build #140360 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140360/testReport)** for PR 33121 at commit [`c4b2dd2`](https://github.com/apache/spark/commit/c4b2dd24e42ef192d9cd587c8eada90adf3fb478).


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] HyukjinKwon commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
HyukjinKwon commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660260157



##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +805,29 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+      Compile / unmanagedResources :=
+        (Compile / unmanagedResources).value.filter(!_.getName.endsWith(s"$propFileName")),
+      genConfigProperties := {
+        val file = (Compile / classDirectory).value / s"org/apache/spark/deploy/yarn/$propFileName"
+        val isHadoopProvided = sys.props.getOrElse("spark.yarn.isHadoopProvided", "false")
+        IO.write(file, s"spark.yarn.isHadoopProvided = $isHadoopProvided")
+      },
+      (Compile / copyResources) := (Def.taskDyn {
+        val c = (Compile / copyResources).value
+          Def.task {

Review comment:
       looks like we should indent 2 spaces back here too




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] SparkQA commented on pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33121:
URL: https://github.com/apache/spark/pull/33121#issuecomment-870824270


   **[Test build #140360 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140360/testReport)** for PR 33121 at commit [`c4b2dd2`](https://github.com/apache/spark/commit/c4b2dd24e42ef192d9cd587c8eada90adf3fb478).


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] AmplabJenkins commented on pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33121:
URL: https://github.com/apache/spark/pull/33121#issuecomment-870962360


   
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140360/
   


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] HyukjinKwon commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
HyukjinKwon commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660259216



##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +805,29 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+      Compile / unmanagedResources :=

Review comment:
       nit but looks like should indent 2 spaces back for these

##########
File path: project/SparkBuild.scala
##########
@@ -413,6 +413,9 @@ object SparkBuild extends PomBuild {
 
   enable(KubernetesIntegrationTests.settings)(kubernetesIntegrationTests)
 
+  if (profiles.contains("hadoop-provided")) {
+    sys.props("spark.yarn.isHadoopProvided") = "true"
+  }

Review comment:
       nit but would it be better to move this logic into the `YARN`?

##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +805,29 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+      Compile / unmanagedResources :=
+        (Compile / unmanagedResources).value.filter(!_.getName.endsWith(s"$propFileName")),
+      genConfigProperties := {
+        val file = (Compile / classDirectory).value / s"org/apache/spark/deploy/yarn/$propFileName"
+        val isHadoopProvided = sys.props.getOrElse("spark.yarn.isHadoopProvided", "false")
+        IO.write(file, s"spark.yarn.isHadoopProvided = $isHadoopProvided")
+      },
+      (Compile / copyResources) := (Def.taskDyn {
+        val c = (Compile / copyResources).value
+          Def.task {

Review comment:
       looks like we should indent 2 spaces back here too




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] HyukjinKwon commented on pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
HyukjinKwon commented on pull request #33121:
URL: https://github.com/apache/spark/pull/33121#issuecomment-870209510






-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] sarutak commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
sarutak commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660273233



##########
File path: project/SparkBuild.scala
##########
@@ -413,6 +413,9 @@ object SparkBuild extends PomBuild {
 
   enable(KubernetesIntegrationTests.settings)(kubernetesIntegrationTests)
 
+  if (profiles.contains("hadoop-provided")) {
+    sys.props("spark.yarn.isHadoopProvided") = "true"
+  }

Review comment:
       Thanks, I found another better way rather than manually do `sys.props("spark.yarn.isHadoopProvided") = "true"`.




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] HyukjinKwon commented on pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
HyukjinKwon commented on pull request #33121:
URL: https://github.com/apache/spark/pull/33121#issuecomment-870209510


   cc @dbtsai FYI. It's more a followup of https://github.com/apache/spark/pull/28788


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] AmplabJenkins removed a comment on pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33121:
URL: https://github.com/apache/spark/pull/33121#issuecomment-870962360


   
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140360/
   


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] sarutak commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
sarutak commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660273233



##########
File path: project/SparkBuild.scala
##########
@@ -413,6 +413,9 @@ object SparkBuild extends PomBuild {
 
   enable(KubernetesIntegrationTests.settings)(kubernetesIntegrationTests)
 
+  if (profiles.contains("hadoop-provided")) {
+    sys.props("spark.yarn.isHadoopProvided") = "true"
+  }

Review comment:
       `profiles` cannot be referred from `YARN` but I found another better way.




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] dbtsai commented on pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
dbtsai commented on pull request #33121:
URL: https://github.com/apache/spark/pull/33121#issuecomment-870930113


   Merged into master for Spark 3.2 release. Thanks.


-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] [spark] sarutak commented on a change in pull request #33121: [SPARK-35921][BUILD] ${spark.yarn.isHadoopProvided} in config.properties is not edited if build with SBT

Posted by GitBox <gi...@apache.org>.
sarutak commented on a change in pull request #33121:
URL: https://github.com/apache/spark/pull/33121#discussion_r660273331



##########
File path: project/SparkBuild.scala
##########
@@ -802,11 +805,29 @@ object Hive {
 }
 
 object YARN {
+  val genConfigProperties = TaskKey[Unit]("gen-config-properties",
+    "Generate config.properties which contains a setting whether Hadoop is provided or not")
+  val propFileName = "config.properties"
+
   lazy val settings = Seq(
     excludeDependencies --= Seq(
       ExclusionRule(organization = "com.sun.jersey"),
       ExclusionRule("javax.servlet", "javax.servlet-api"),
-      ExclusionRule("javax.ws.rs", "jsr311-api"))
+      ExclusionRule("javax.ws.rs", "jsr311-api")),
+      Compile / unmanagedResources :=
+        (Compile / unmanagedResources).value.filter(!_.getName.endsWith(s"$propFileName")),
+      genConfigProperties := {
+        val file = (Compile / classDirectory).value / s"org/apache/spark/deploy/yarn/$propFileName"
+        val isHadoopProvided = sys.props.getOrElse("spark.yarn.isHadoopProvided", "false")
+        IO.write(file, s"spark.yarn.isHadoopProvided = $isHadoopProvided")
+      },
+      (Compile / copyResources) := (Def.taskDyn {
+        val c = (Compile / copyResources).value
+          Def.task {

Review comment:
       Oh, I was confused because `Seq` is nested... Thanks.




-- 
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.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org