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

dongjoon-hyun pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/spark-kubernetes-operator.git


The following commit(s) were added to refs/heads/main by this push:
     new 3a6795b2 [SPARK-59937] Recommend `spark.driver.timeout` instead of 
Kueue `max-exec-time-seconds` label
3a6795b2 is described below

commit 3a6795b2a8215eb9ec543bcc768d092d1ef488f2
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Fri Oct 2 00:11:38 2026 -0700

    [SPARK-59937] Recommend `spark.driver.timeout` instead of Kueue 
`max-exec-time-seconds` label
    
    ### What changes were proposed in this pull request?
    
    This PR aims to recommend the Spark native `spark.driver.timeout` instead 
of the Kueue `kueue.x-k8s.io/max-exec-time-seconds` label in 
`docs/spark_custom_resources.md`, with a link to the existing 
`examples/pi-with-driver-timeout.yaml`.
    
    
https://github.com/apache/spark-kubernetes-operator/blob/1d07c7f1f255d0223121e7e26e56113fd0106bf1/examples/pi-with-driver-timeout.yaml#L24-L25
    
    ### Why are the changes needed?
    
    The operator does not copy the label to the `Workload`. Even if it did, the 
deactivation which Kueue applies after that time is not honored for a running 
`SparkApplication`, so its driver and executors would keep running while Kueue 
no longer counts their quota. On the other hand, `spark.driver.timeout` with 
`DriverTimeoutPlugin` is available in all supported Spark versions (4.0+) and 
stops the driver itself, so the attempt releases its `Workload` like any other 
stopped attempt.
    
    ### Does this PR introduce _any_ user-facing change?
    
    No. This is a documentation-only change for the Kueue integration, which is 
not released yet in 
[1.0.0](https://github.com/apache/spark-kubernetes-operator/releases/tag/1.0.0) 
(2026-07-23).
    
    ### How was this patch tested?
    
    Manual review.
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    Generated-by: Claude Opus 5.5
    
    Closes #923 from dongjoon-hyun/SPARK-59937.
    
    Authored-by: Dongjoon Hyun <[email protected]>
    Signed-off-by: Dongjoon Hyun <[email protected]>
---
 docs/spark_custom_resources.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/docs/spark_custom_resources.md b/docs/spark_custom_resources.md
index c549bac8..3de5917d 100644
--- a/docs/spark_custom_resources.md
+++ b/docs/spark_custom_resources.md
@@ -786,6 +786,10 @@ spec:
   running attempt, delete the application to release its quota earlier. With 
`blockAdmission`, an
   application whose pods are not all ready holds back every other workload 
until they are ready
   or its quota is released as described above.
+* To limit the execution time of a `SparkApplication`, the Spark native 
`spark.driver.timeout` is
+  recommended instead of the `kueue.x-k8s.io/max-exec-time-seconds` label, 
which is not copied to
+  the `Workload`. It requires 
`spark.plugins=org.apache.spark.deploy.DriverTimeoutPlugin`, as in
+  [this example](../examples/pi-with-driver-timeout.yaml).
 
 ## Spark Cluster
 


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

Reply via email to