You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
KubernetesExecutor shadowing timeout_seconds and _request_seconds #45517
It's deployment independent and related to code directly
What happened
kube client query options of timeout_seconds and _request_seconds provided via kube_client_request_args config option are re-written via hardcoded values in executor code of KubernetesJobWatcher.
What you think should happen instead
Values set via AIRFLOW__KUBERNETES_EXECUTOR__KUBE_CLIENT_REQUEST_ARGS for timeout_seconds and _request_seconds should be respected, hardcoded values should be provided only in case of missing keys in the provided JSON.
Simple if for checking if key is already present would be enough
How to reproduce
Set the kube_client_request_args option with JSON: {"timeout_seconds": 1800, "_request_timeout": 60}
Run airflow scheduler with kubernetes executor configured
In logs you can see that without pod events the KubernetesJobWatcher will still die every 30 seconds instead of 60.
Is the idea to update these lines to default to 30/3600 but allow them to be overwritten via kube_client_request_args? If so, I think that makes sense.
Activity
insomnes commentedon Jan 9, 2025
I am happy to provide the PR fixing it.
I see this behavior as a 100% bug. But I want to be sure it's not intended in any way.
RNHTTR commentedon Jan 9, 2025
Is the idea to update these lines to default to 30/3600 but allow them to be overwritten via kube_client_request_args? If so, I think that makes sense.
insomnes commentedon Jan 9, 2025
Yes. I was thinking about checking the presence of these keys:
RNHTTR commentedon Jan 9, 2025
Cool -- assigned you.