Open Locustv2 opened 1 week ago
Reference to Slack discussion https://apache-airflow.slack.com/archives/CCR6P6JRL/p1726478413720159 Thanks for posting.
Just to fully understand this: Is this applying to Mapped Tasks or "Normal" Tasks in a DAG?
Does "default DAG configuration" refer to with DAG(... default_ags={"retries": None}...):
or which defaults are you referring to? Can you maybe post a snipped of your DAG to ensure I understand this right?
Note for fixing: I assume we need to strengthen the DAG validation during parsing to ensure retries=None
is not parseable. Seems this is not properly validated.
I was facing the same issue, and the solution was to use retries=0
instead of retries=None
. Because when Airflow tries to execute ti.max_tries = ti.try_number + task.retries
, the latter is None
, hence the error. Now, whether that is by design or by accident, I'm not sure!
@jscheffl Hi Jens, could you please assign the issue to me? I will implement the required changes to improve the DAG validation during parsing and ensure that retries=None is not parseable.
Created a draft PR: https://github.com/apache/airflow/pull/42532
I will verify the new validation checks and send the PR for review
Apache Airflow version
2.10.1
If "Other Airflow 2 version" selected, which one?
No response
What happened?
I have a Dag with configuration
retries = 10
. One of my custom component (task) ideally should use the Dag configuration for retries. But in some cases, this value should be different. So the component had default value ofNone
When the default value is used and i try to clear task from the UI, i get an error:
What you think should happen instead?
Ideally if
None
is used at Task level, the default Dag configuration should be used and when a value is provided, it overrides the Dag config.How to reproduce
retries = None
.Operating System
MacOS Sonoma
Versions of Apache Airflow Providers
No response
Deployment
Other
Deployment details
No response
Anything else?
No response
Are you willing to submit PR?
Code of Conduct