This is an automated email from the ASF dual-hosted git repository.

chengpan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi.git


The following commit(s) were added to refs/heads/master by this push:
     new 5f8b57be5 [KYUUBI #3664] [SPARK][K8S][BATCH] Kyuubi should set env 
SPARK_USER_NAME on submitting Spark batch job to K8s
5f8b57be5 is described below

commit 5f8b57be53060eaddca4f153e74b50726bdff43f
Author: zwangsheng <[email protected]>
AuthorDate: Thu Oct 20 13:47:32 2022 +0800

    [KYUUBI #3664] [SPARK][K8S][BATCH] Kyuubi should set env SPARK_USER_NAME on 
submitting Spark batch job to K8s
    
    ### _Why are the changes needed?_
    
    Batch job should also submit with `SPARK_USER_NAME`.
    
    See more in pre pr #3527 .
    
    ### _How was this patch tested?_
    - [ ] Add some test cases that check the changes thoroughly including 
negative and positive cases if possible
    
    - [ ] Add screenshots for manual tests if appropriate
    
    - [x] [Run 
test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests)
 locally before make a pull request
    
    Closes #3664 from zwangsheng/feature/batch_with_user_name.
    
    Closes #3664
    
    76dee3e3 [zwangsheng] style
    0d405082 [zwangsheng] fix
    a1fcf7fa [zwangsheng] fix
    
    Authored-by: zwangsheng <[email protected]>
    Signed-off-by: Cheng Pan <[email protected]>
---
 .../engine/spark/SparkBatchProcessBuilder.scala    |  1 +
 .../kyuubi/engine/spark/SparkProcessBuilder.scala  | 27 +++++++++++-----------
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git 
a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkBatchProcessBuilder.scala
 
b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkBatchProcessBuilder.scala
index 89ce84180..e7de6baa4 100644
--- 
a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkBatchProcessBuilder.scala
+++ 
b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkBatchProcessBuilder.scala
@@ -54,6 +54,7 @@ class SparkBatchProcessBuilder(
       buffer += s"${convertConfigKey(k)}=$v"
     }
 
+    setSparkUserName(proxyUser, buffer)
     buffer += PROXY_USER
     buffer += proxyUser
 
diff --git 
a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala
 
b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala
index 052887c92..cd12dbd36 100644
--- 
a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala
+++ 
b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala
@@ -91,26 +91,14 @@ class SparkProcessBuilder(
       buffer += s"${convertConfigKey(k)}=$v"
     }
 
-    // For spark on kubernetes, spark pod using env SPARK_USER_NAME as current 
user
-    def setSparkUserName(userName: String): Unit = {
-      clusterManager().foreach(cm => {
-        if (cm.startsWith("k8s://")) {
-          buffer += CONF
-          buffer += s"spark.kubernetes.driverEnv.SPARK_USER_NAME=$userName"
-          buffer += CONF
-          buffer += s"spark.executorEnv.SPARK_USER_NAME=$userName"
-        }
-      })
-    }
-
     // if the keytab is specified, PROXY_USER is not supported
     tryKeytab() match {
       case None =>
-        setSparkUserName(proxyUser)
+        setSparkUserName(proxyUser, buffer)
         buffer += PROXY_USER
         buffer += proxyUser
       case Some(name) =>
-        setSparkUserName(name)
+        setSparkUserName(name, buffer)
     }
 
     mainResource.foreach { r => buffer += r }
@@ -185,6 +173,17 @@ class SparkProcessBuilder(
 
   override def validateConf: Unit = Validator.validateConf(conf)
 
+  // For spark on kubernetes, spark pod using env SPARK_USER_NAME as current 
user
+  def setSparkUserName(userName: String, buffer: ArrayBuffer[String]): Unit = {
+    clusterManager().foreach { cm =>
+      if (cm.toUpperCase.startsWith("K8S")) {
+        buffer += CONF
+        buffer += s"spark.kubernetes.driverEnv.SPARK_USER_NAME=$userName"
+        buffer += CONF
+        buffer += s"spark.executorEnv.SPARK_USER_NAME=$userName"
+      }
+    }
+  }
 }
 
 object SparkProcessBuilder {

Reply via email to