seanmuth commented on code in PR #69058:
URL: https://github.com/apache/airflow/pull/69058#discussion_r3546619738


##########
providers/cncf/kubernetes/provider.yaml:
##########
@@ -468,6 +468,40 @@ config:
         type: integer
         example: ~
         default: "0"
+      pod_launch_failure_retries:
+        description: |
+          The number of times the executor will transparently requeue a task 
whose worker pod
+          failed before the task process started running (for example a node 
drain, autoscaler
+          scale-down, node boot race, or transient image pull failure). The 
task instance is
+          still in ``queued`` state in these cases, meaning no task code ran, 
so requeuing does
+          not consume a task-level retry.
+
+          This changes the previous default behavior: such tasks are now 
requeued once before
+          failing instead of failing on the first pod failure. Set this to 0 
to restore the
+          previous behavior (fail immediately, no requeue).
+
+          Use -1 for unlimited requeues, but with caution: a pod that fails on 
every launch
+          (for example a misconfigured image that can never be pulled) will be 
requeued forever,
+          and with the default ``delete_worker_pods_on_failure = False`` the 
failed pods are not
+          cleaned up, so they accumulate.
+        version_added: 10.19.0

Review Comment:
   Done in `cb32253819` — bumped both new configs to `version_added: 10.20.0` 
and regenerated `get_provider_info.py` to match. Thanks for the correction!
   
   ---
   Drafted-by: Claude Code (Opus 4.8); reviewed by @seanmuth before posting



##########
providers/cncf/kubernetes/provider.yaml:
##########
@@ -468,6 +468,40 @@ config:
         type: integer
         example: ~
         default: "0"
+      pod_launch_failure_retries:
+        description: |
+          The number of times the executor will transparently requeue a task 
whose worker pod
+          failed before the task process started running (for example a node 
drain, autoscaler
+          scale-down, node boot race, or transient image pull failure). The 
task instance is
+          still in ``queued`` state in these cases, meaning no task code ran, 
so requeuing does
+          not consume a task-level retry.
+
+          This changes the previous default behavior: such tasks are now 
requeued once before
+          failing instead of failing on the first pod failure. Set this to 0 
to restore the
+          previous behavior (fail immediately, no requeue).
+
+          Use -1 for unlimited requeues, but with caution: a pod that fails on 
every launch
+          (for example a misconfigured image that can never be pulled) will be 
requeued forever,
+          and with the default ``delete_worker_pods_on_failure = False`` the 
failed pods are not
+          cleaned up, so they accumulate.
+        version_added: 10.19.0
+        type: integer
+        example: ~
+        default: "1"
+      pod_launch_failure_excluded_container_reasons:
+        description: |
+          Comma-separated list of container termination reasons that are 
excluded from the
+          ``pod_launch_failure_retries`` requeue path even when the task 
instance is still in
+          ``queued`` state. Pods that fail with an excluded reason consume a 
normal task retry
+          instead of being transparently requeued. The default ``Error`` 
covers the case where
+          the container started executing but the worker process exited before 
writing
+          ``running`` to the database, which is most likely an 
Airflow-specific startup error
+          rather than a transient infrastructure event. Set to an empty value 
to requeue these
+          cases as well.
+        version_added: 10.19.0

Review Comment:
   Applied here too in `cb32253819` (same commit as the other `version_added` 
bump).
   
   ---
   Drafted-by: Claude Code (Opus 4.8); reviewed by @seanmuth before posting



-- 
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]

Reply via email to