You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by do...@apache.org on 2026/04/23 17:22:59 UTC

(spark) branch master updated: [SPARK-56601][K8S] Promote `KubernetesClientUtils` to `Stable`

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

dongjoon-hyun 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 48ccfb30383b [SPARK-56601][K8S] Promote `KubernetesClientUtils` to `Stable`
48ccfb30383b is described below

commit 48ccfb30383b6c97d4bb666224547894bab3d408
Author: Dongjoon Hyun <do...@apache.org>
AuthorDate: Thu Apr 23 10:22:48 2026 -0700

    [SPARK-56601][K8S] Promote `KubernetesClientUtils` to `Stable`
    
    ### What changes were proposed in this pull request?
    
    This PR aims to promote `KubernetesClientUtils` from `Unstable` to `Stable` API.
    
    ### Why are the changes needed?
    
    `KubernetesClientUtils` is a `DeveloperApi` utility used by both Spark's
    internal K8s submission path and the Spark K8s Operator. It was introduced in
    Apache Spark 3.1.0 (SPARK-30985) and becomes `DeveloperAPI` at Spark 4.1.0.
    
    - https://github.com/apache/spark/pull/27735
    - https://github.com/apache/spark/pull/46327
    
    Since 3.1.0,  its public surface has remained stable for multiple releases. Promoting it to `Stable` signals this stability to downstream users like the Spark K8s Operator.
    
    ### Does this PR introduce _any_ user-facing change?
    
    No, this is an annotation-only change (API stability signaling). No behavior
    change.
    
    ### How was this patch tested?
    
    Pass the CIs.
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    Generated-by: Claude Opus 4.7
    
    Closes #55513 from dongjoon-hyun/SPARK-56601.
    
    Authored-by: Dongjoon Hyun <do...@apache.org>
    Signed-off-by: Dongjoon Hyun <do...@apache.org>
---
 .../org/apache/spark/deploy/k8s/submit/KubernetesClientUtils.scala   | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/submit/KubernetesClientUtils.scala b/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/submit/KubernetesClientUtils.scala
index 2b7db0b2f09b..005a6beff54f 100644
--- a/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/submit/KubernetesClientUtils.scala
+++ b/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/submit/KubernetesClientUtils.scala
@@ -29,7 +29,7 @@ import scala.jdk.CollectionConverters._
 import io.fabric8.kubernetes.api.model.{ConfigMap, ConfigMapBuilder, KeyToPath}
 
 import org.apache.spark.SparkConf
-import org.apache.spark.annotation.{DeveloperApi, Since, Unstable}
+import org.apache.spark.annotation.{DeveloperApi, Since, Stable}
 import org.apache.spark.deploy.k8s.{Config, Constants, KubernetesUtils}
 import org.apache.spark.deploy.k8s.Config.{KUBERNETES_DNS_SUBDOMAIN_NAME_MAX_LENGTH, KUBERNETES_NAMESPACE}
 import org.apache.spark.deploy.k8s.Constants.ENV_SPARK_CONF_DIR
@@ -42,8 +42,9 @@ import org.apache.spark.util.ArrayImplicits._
  *
  * A utility class used for K8s operations internally and Spark K8s operator.
  */
-@Unstable
+@Stable
 @DeveloperApi
+@Since("3.1.0")
 object KubernetesClientUtils extends Logging {
 
   // Config map name can be KUBERNETES_DNS_SUBDOMAIN_NAME_MAX_LENGTH chars at max.


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