[ 
https://issues.apache.org/jira/browse/SPARK-59725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Wenjun Ruan updated SPARK-59725:
--------------------------------
    Description: 
h1. Description

 
When submitting a Spark application with Volcano, Spark currently performs the 
following operations:

1. Create the PodGroup without an owner reference.
2. Create the driver pod.
3. Update the PodGroup with an owner reference to the driver pod.
 
This requires two writes to the PodGroup. If the submission client fails or 
exits before the owner reference is attached, the PodGroup may remain without 
an owner reference, preventing Kubernetes garbage collection from cleaning it 
up when the driver pod is deleted.
 
h1. Proposed change

 Create the driver pod first, then create the PodGroup with the driver pod's 
owner reference already populated. This can use the existing post-pod resource 
creation mechanism by moving the PodGroup from 
`getAdditionalPreKubernetesResources()` to `getAdditionalKubernetesResources()` 
in `VolcanoFeatureStep`.
 
h1. Expected benefits
 * Eliminate the additional PodGroup update used to attach the owner reference.
 * Eliminate the window in which a newly created PodGroup has no driver owner 
reference.
 * Preserve the existing cleanup behavior when post-pod resource creation fails.

  was:
h1. Description
 
When submitting a Spark application with Volcano, Spark currently performs the 
following operations:1. Create the PodGroup without an owner reference.
2. Create the driver pod.
3. Update the PodGroup with an owner reference to the driver pod.
 
This requires two writes to the PodGroup. If the submission client fails or 
exits before the owner reference is attached, the PodGroup may remain without 
an owner reference, preventing Kubernetes garbage collection from cleaning it 
up when the driver pod is deleted.
 
h1. Proposed change
 Create the driver pod first, then create the PodGroup with the driver pod's 
owner reference already populated. This can use the existing post-pod resource 
creation mechanism by moving the PodGroup from 
`getAdditionalPreKubernetesResources()` to `getAdditionalKubernetesResources()` 
in `VolcanoFeatureStep`.
 
h1. Expected benefits
 - Eliminate the additional PodGroup update used to attach the owner reference.
- Eliminate the window in which a newly created PodGroup has no driver owner 
reference.
- Preserve the existing cleanup behavior when post-pod resource creation fails.


> Create Volcano PodGroup with driver owner reference after driver pod creation
> -----------------------------------------------------------------------------
>
>                 Key: SPARK-59725
>                 URL: https://issues.apache.org/jira/browse/SPARK-59725
>             Project: Spark
>          Issue Type: Bug
>          Components: Kubernetes, Scheduler
>    Affects Versions: 4.3.0
>            Reporter: Wenjun Ruan
>            Priority: Minor
>
> h1. Description
>  
> When submitting a Spark application with Volcano, Spark currently performs 
> the following operations:
> 1. Create the PodGroup without an owner reference.
> 2. Create the driver pod.
> 3. Update the PodGroup with an owner reference to the driver pod.
>  
> This requires two writes to the PodGroup. If the submission client fails or 
> exits before the owner reference is attached, the PodGroup may remain without 
> an owner reference, preventing Kubernetes garbage collection from cleaning it 
> up when the driver pod is deleted.
>  
> h1. Proposed change
>  Create the driver pod first, then create the PodGroup with the driver pod's 
> owner reference already populated. This can use the existing post-pod 
> resource creation mechanism by moving the PodGroup from 
> `getAdditionalPreKubernetesResources()` to 
> `getAdditionalKubernetesResources()` in `VolcanoFeatureStep`.
>  
> h1. Expected benefits
>  * Eliminate the additional PodGroup update used to attach the owner 
> reference.
>  * Eliminate the window in which a newly created PodGroup has no driver owner 
> reference.
>  * Preserve the existing cleanup behavior when post-pod resource creation 
> fails.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to