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