dongjoon-hyun opened a new pull request, #895:
URL: https://github.com/apache/spark-kubernetes-operator/pull/895

   ### What changes were proposed in this pull request?
   
   This PR aims to keep the admitted Kueue `Workload` of a suspended 
`SparkApplication` whose driver exists but is not in the informer cache yet.
   
   - The suspend branch of `AppInitStep` now uses `isDriverRequested`, which 
looks up the driver on the API server when the cached `Workload` is admitted, 
instead of `SparkAppContext.getCurrentAttemptDriverPod()` alone.
   - Like a cached pod, the pod found there counts as the driver only if it 
carries the driver labels and is not being deleted.
   - If the driver spec cannot be built for the lookup, the application is 
held, which releases its `Workload`, instead of failing every reconcile.
   - A suspended application without an admitted `Workload` makes no extra 
request, as before.
   
   ### Why are the changes needed?
   
   When the status update to `DriverRequested` fails after the driver is 
created, and a user sets `spec.suspend: true` before the informer cache sees 
the driver pod, `SuspendUtils.holdForSuspend` deletes the admitted `Workload` 
while the driver is running. Then the driver and its executors run outside the 
Kueue quota.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No for the released versions, because the Kueue integration is not released 
yet in 
[v1.0.0](https://github.com/apache/spark-kubernetes-operator/releases/tag/1.0.0)
 (2026-07-26).
   
   ### How was this patch tested?
   
   Pass the CIs with the newly added and updated test cases in 
`AppInitStepTest`.
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Opus 5.5


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to