You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by "dongjoon-hyun (via GitHub)" <gi...@apache.org> on 2023/08/29 00:16:44 UTC

[GitHub] [spark] dongjoon-hyun opened a new pull request, #42710: [SPARK-44996][K8S] `VolcanoFeatureStep` should not create `DefaultVolcanoClient` if not needed

dongjoon-hyun opened a new pull request, #42710:
URL: https://github.com/apache/spark/pull/42710

   ### What changes were proposed in this pull request?
   
   This PR aims to improve `VolcanoFeatureStep` to use lazy creation for `DefaultVolcanoClient`.
   
   ### Why are the changes needed?
   
   Since `VolcanoFeatureStep` creates `DefaultVolcanoClient` always, the unit test suite `VolcanoFeatureStepSuite` behaves like an integration test. In other words, it fails when there is no network connectivity.
   ```
   $ build/sbt -Pkubernetes -Pvolcano "kubernetes/testOnly *Volcano* -- -z SPARK-36061"
   ...
   [info] VolcanoFeatureStepSuite:
   [info] - SPARK-36061: Driver Pod with Volcano PodGroup *** FAILED *** (646 milliseconds)
   [info]   org.snakeyaml.engine.v2.exceptions.ScannerException: mapping values are not allowed here
   [info]  in reader, line 1, column 94:
   [info]      ... well-known/openid-configuration": dial tcp: lookup iam.corp. ...
   [info]
   ```
   
   ### 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'.
   -->
   
   
   ### 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.
   If benchmark tests were added, please run the benchmarks in GitHub Actions for the consistent environment, and the instructions could accord to: https://spark.apache.org/developer-tools.html#github-workflow-benchmarks.
   -->
   
   
   ### Was this patch authored or co-authored using generative AI tooling?
   <!--
   If generative AI tooling has been used in the process of authoring this patch, please include the
   phrase: 'Generated-by: ' followed by the name of the tool and its version.
   If no, write 'No'.
   Please refer to the [ASF Generative Tooling Guidance](https://www.apache.org/legal/generative-tooling.html) for details.
   -->
   


-- 
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] dongjoon-hyun commented on pull request #42710: [SPARK-44996][K8S] Use `lazy val` for `DefaultVolcanoClient`

Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun commented on PR #42710:
URL: https://github.com/apache/spark/pull/42710#issuecomment-1696814682

   Thank you, @HyukjinKwon , @zhengruifeng , @yaooqinn !


-- 
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 diff in pull request #42710: [SPARK-44996][K8S] Use `lazy val` for `DefaultVolcanoClient`

Posted by "HyukjinKwon (via GitHub)" <gi...@apache.org>.
HyukjinKwon commented on code in PR #42710:
URL: https://github.com/apache/spark/pull/42710#discussion_r1308085001


##########
resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/features/VolcanoFeatureStep.scala:
##########
@@ -46,7 +46,7 @@ private[spark] class VolcanoFeatureStep extends KubernetesDriverCustomFeatureCon
         "for executor.")
       return Seq.empty
     }
-    val client = new DefaultVolcanoClient
+    lazy val client = new DefaultVolcanoClient
     val template = kubernetesConf.getOption(POD_GROUP_TEMPLATE_FILE_KEY)
     val pg = template.map(client.podGroups.load(_).item).getOrElse(new PodGroup())

Review Comment:
   Actually I think we should have better create the `DefaultVolcanoClient` within `map` but it's really a nit.



-- 
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] dongjoon-hyun closed pull request #42710: [SPARK-44996][K8S] Use `lazy val` for `DefaultVolcanoClient`

Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun closed pull request #42710: [SPARK-44996][K8S] Use `lazy val` for `DefaultVolcanoClient`
URL: https://github.com/apache/spark/pull/42710


-- 
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] dongjoon-hyun commented on pull request #42710: [SPARK-44996][K8S] Use `lazy val` for `DefaultVolcanoClient`

Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun commented on PR #42710:
URL: https://github.com/apache/spark/pull/42710#issuecomment-1696779240

   Merged to master for Apache Spark 4.0.0


-- 
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] dongjoon-hyun commented on a diff in pull request #42710: [SPARK-44996][K8S] `VolcanoFeatureStep` should not create `DefaultVolcanoClient` if not needed

Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun commented on code in PR #42710:
URL: https://github.com/apache/spark/pull/42710#discussion_r1308078497


##########
resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/features/VolcanoFeatureStep.scala:
##########
@@ -46,7 +46,7 @@ private[spark] class VolcanoFeatureStep extends KubernetesDriverCustomFeatureCon
         "for executor.")
       return Seq.empty
     }
-    val client = new DefaultVolcanoClient
+    lazy val client = new DefaultVolcanoClient
     val template = kubernetesConf.getOption(POD_GROUP_TEMPLATE_FILE_KEY)
     val pg = template.map(client.podGroups.load(_).item).getOrElse(new PodGroup())

Review Comment:
   When `template` configuration is not given, Apache Spark will not create `DefaultVolcanoClient`



-- 
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] dongjoon-hyun commented on a diff in pull request #42710: [SPARK-44996][K8S] Use `lazy val` for `DefaultVolcanoClient`

Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun commented on code in PR #42710:
URL: https://github.com/apache/spark/pull/42710#discussion_r1308205461


##########
resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/features/VolcanoFeatureStep.scala:
##########
@@ -46,7 +46,7 @@ private[spark] class VolcanoFeatureStep extends KubernetesDriverCustomFeatureCon
         "for executor.")
       return Seq.empty
     }
-    val client = new DefaultVolcanoClient
+    lazy val client = new DefaultVolcanoClient
     val template = kubernetesConf.getOption(POD_GROUP_TEMPLATE_FILE_KEY)
     val pg = template.map(client.podGroups.load(_).item).getOrElse(new PodGroup())

Review Comment:
   Thank you. Yes, that line is the only place indeed. Let me merge this and take another look at the rest of test cases of this suite.



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