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

dongjoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new c596fceebb9 [SPARK-44995][K8S] Promote `SparkKubernetesClientFactory` 
to `DeveloperApi`
c596fceebb9 is described below

commit c596fceebb9e8b0501052b5c0fc3b63ad1293d4a
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Mon Aug 28 17:30:31 2023 -0700

    [SPARK-44995][K8S] Promote `SparkKubernetesClientFactory` to `DeveloperApi`
    
    ### What changes were proposed in this pull request?
    
    This PR aims to promote `SparkKubernetesClientFactory` as **stable** 
`DeveloperApi` in order to maintain it officially in a backward compatible way 
at Apache Spark 4.0.0.
    
    ### Why are the changes needed?
    
    Like SPARK-35280 and SPARK-37497, `SparkKubernetesClientFactory` is also 
able to be used to develop new `ExternalClusterManager` for K8s environment.
    - https://github.com/apache/spark/pull/32406
    - https://github.com/apache/spark/pull/34751
    
    ### Does this PR introduce _any_ user-facing change?
    
    No. Previously, it was `private[spark]`.
    
    ### How was this patch tested?
    
    Manual review because this is only a visibility change.
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    No.
    
    Closes #42709 from dongjoon-hyun/SPARK-44995.
    
    Authored-by: Dongjoon Hyun <[email protected]>
    Signed-off-by: Dongjoon Hyun <[email protected]>
---
 .../spark/deploy/k8s/SparkKubernetesClientFactory.scala      | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git 
a/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/SparkKubernetesClientFactory.scala
 
b/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/SparkKubernetesClientFactory.scala
index bc0e7934024..3763aeadea0 100644
--- 
a/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/SparkKubernetesClientFactory.scala
+++ 
b/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/SparkKubernetesClientFactory.scala
@@ -30,18 +30,28 @@ import okhttp3.Dispatcher
 import okhttp3.OkHttpClient
 
 import org.apache.spark.SparkConf
+import org.apache.spark.annotation.{DeveloperApi, Since, Stable}
 import org.apache.spark.deploy.k8s.Config._
 import org.apache.spark.internal.Logging
 import org.apache.spark.internal.config.ConfigEntry
 import org.apache.spark.util.ThreadUtils
 
 /**
+ * :: DeveloperApi ::
+ *
  * Spark-opinionated builder for Kubernetes clients. It uses a prefix plus 
common suffixes to
  * parse configuration keys, similar to the manner in which Spark's 
SecurityManager parses SSL
  * options for different components.
+ *
+ * This can be used to implement new ExternalClusterManagers.
+ *
+ * @since 4.0.0
  */
-private[spark] object SparkKubernetesClientFactory extends Logging {
+@Stable
+@DeveloperApi
+object SparkKubernetesClientFactory extends Logging {
 
+  @Since("4.0.0")
   def createKubernetesClient(
       master: String,
       namespace: Option[String],


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to