The GitHub Actions job "Tests (AMD)" on 
airflow.git/fix-v1pod-unpicklable-config-in-cluster has failed.
Run started by GitHub user ephraimbuddy (triggered by ephraimbuddy).

Head commit for run:
736cbeecec791c3b1dff58d1762385591697d685 / Ephraim Anierobi 
<[email protected]>
Fix KubernetesExecutor scheduler crash from unpicklable pod_override

When the scheduler runs in-cluster, the kubernetes client installs a
process-global default Configuration whose refresh_api_key_hook is a local
closure. Under kubernetes-client v36, deserializing a V1Pod copies that
Configuration onto the pod and every nested model. A task that sets a V1Pod
pod_override therefore produces a pod that pickle cannot serialize, and the
KubernetesExecutor pickles each task onto a multiprocessing queue
synchronously in the scheduler loop, so the scheduler crashes in a loop and no
task can be launched.

Deserialize pods through an ApiClient built with a fresh Configuration so that
neither the pod nor any nested model captures the in-cluster global. This is
applied at the point the config gets attached, so every consumer of a
deserialized pod stays picklable: airflow-core's serialization and unpickling
repair paths, and the cncf provider's worker-side reconstruction.

Report URL: https://github.com/apache/airflow/actions/runs/27943363915

With regards,
GitHub Actions via GitBox


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

Reply via email to