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 df1378e00966 [SPARK-55725][K8S][DOCS] Make `AbstractPodsAllocator` 
docs up-to-date
df1378e00966 is described below

commit df1378e00966b56ce0b95376fed0179ce5fe51c1
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Thu Feb 26 18:04:08 2026 -0800

    [SPARK-55725][K8S][DOCS] Make `AbstractPodsAllocator` docs up-to-date
    
    ### What changes were proposed in this pull request?
    
    This PR aims to make `AbstractPodsAllocator` documentation up-to-date:
    - Use `Javadoc` style instead of `Scaladoc` according to the [Apache Spark 
Code Style Guide](https://spark.apache.org/contributing.html).
    - Add `Since` annotation for the class and methods.
    - Update the class documentation with new `DeploymentPodsAllocator`.
    - Update the method documentation with `since` tag.
    
    ### Why are the changes needed?
    
    `AbstractPodsAllocator` is one of `DeveloperApi` of the Apache Spark.
    
    
https://github.com/apache/spark/blob/4da26e4bf9eab119ff2489c5fdf85efe60f6f469/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/AbstractPodsAllocator.scala#L36-L37
    
    Recently, Apache Spark 4.2.0
    - Added a new built-in implementation, `DeploymentPodsAllocator`.
      - #52867
    - Added new API, `setExecutorPodsLifecycleManager`.
      - #53840
    
    ### Does this PR introduce _any_ user-facing change?
    
    No, this changes documentations only.
    
    ### How was this patch tested?
    
    Manual review.
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    Generated-by: `Gemini 3.1 Pro (High)` on `Antigravity`
    
    Closes #54526 from dongjoon-hyun/SPARK-55725.
    
    Authored-by: Dongjoon Hyun <[email protected]>
    Signed-off-by: Dongjoon Hyun <[email protected]>
---
 .../cluster/k8s/AbstractPodsAllocator.scala        | 49 ++++++++++++++++------
 1 file changed, 37 insertions(+), 12 deletions(-)

diff --git 
a/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/AbstractPodsAllocator.scala
 
b/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/AbstractPodsAllocator.scala
index 8803d3d031e4..cae58c34a185 100644
--- 
a/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/AbstractPodsAllocator.scala
+++ 
b/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/AbstractPodsAllocator.scala
@@ -18,7 +18,7 @@ package org.apache.spark.scheduler.cluster.k8s
 
 import io.fabric8.kubernetes.api.model.Pod
 
-import org.apache.spark.annotation.DeveloperApi
+import org.apache.spark.annotation.{DeveloperApi, Since}
 import org.apache.spark.resource.ResourceProfile
 
 
@@ -26,47 +26,72 @@ import org.apache.spark.resource.ResourceProfile
  * :: DeveloperApi ::
  * A abstract interface for allowing different types of pods allocation.
  *
- * The internal Spark implementations are [[StatefulSetPodsAllocator]]
- * and [[ExecutorPodsAllocator]]. This may be useful for folks integrating 
with custom schedulers.
- *
- * This API may change or be removed at anytime.
+ * The internal Spark implementations are [[StatefulSetPodsAllocator]],
+ * [[DeploymentPodsAllocator]], and [[ExecutorPodsAllocator]].
+ * This may be useful for folks integrating with custom schedulers.
  *
  * @since 3.3.0
  */
 @DeveloperApi
+@Since("3.3.0")
 abstract class AbstractPodsAllocator {
-  /*
+  /**
    * Optional lifecycle manager for tracking executor pod lifecycle events.
    * Set via setExecutorPodsLifecycleManager for backward compatibility.
+   *
+   * @since 4.2.0
    */
+  @Since("4.2.0")
   protected var executorPodsLifecycleManager: 
Option[ExecutorPodsLifecycleManager] = None
 
-  /*
+  /**
    * Set the lifecycle manager for tracking executor pod lifecycle events.
    * This method is optional and may not exist in custom implementations based 
on older versions.
+   *
+   * @since 4.2.0
    */
+  @Since("4.2.0")
   def setExecutorPodsLifecycleManager(manager: ExecutorPodsLifecycleManager): 
Unit = {
     executorPodsLifecycleManager = Some(manager)
   }
 
-  /*
+  /**
    * Set the total expected executors for an application
+   *
+   * @since 3.3.0
    */
+  @Since("3.3.0")
   def setTotalExpectedExecutors(resourceProfileToTotalExecs: 
Map[ResourceProfile, Int]): Unit
-  /*
+
+  /**
    * Reference to driver pod.
+   *
+   * @since 3.3.0
    */
+  @Since("3.3.0")
   def driverPod: Option[Pod]
-  /*
+
+  /**
    * If the pod for a given exec id is deleted.
+   *
+   * @since 3.3.0
    */
+  @Since("3.3.0")
   def isDeleted(executorId: String): Boolean
-  /*
+
+  /**
    * Start hook.
+   *
+   * @since 3.3.0
    */
+  @Since("3.3.0")
   def start(applicationId: String, schedulerBackend: 
KubernetesClusterSchedulerBackend): Unit
-  /*
+
+  /**
    * Stop hook
+   *
+   * @since 3.3.0
    */
+  @Since("3.3.0")
   def stop(applicationId: String): Unit
 }


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

Reply via email to