Skip to content

Commit 59e7606

Browse files
Update max_consecutive_failed_dag_runs default value to zero in TaskSDK dag (apache#49795)
* Update max_consecutive_failed_dag_runs default value to zero in TaskSDK dag * Update max_consecutive_failed_dag_runs default value to zero in TaskSDK dag
1 parent f81cd6f commit 59e7606

File tree

3 files changed

+2
-17
lines changed

3 files changed

+2
-17
lines changed

airflow-core/src/airflow/models/dag.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2046,16 +2046,7 @@ def from_sdk_dag(cls, dag: TaskSDKDag) -> DAG:
20462046
if not field.init or field.name in ["edge_info"]:
20472047
continue
20482048

2049-
value = getattr(dag, field.name)
2050-
2051-
# Handle special cases where values need conversion
2052-
if field.name == "max_consecutive_failed_dag_runs":
2053-
# SchedulerDAG requires this to be >= 0, while TaskSDKDag allows -1
2054-
if value == -1:
2055-
# If it is -1, we get the default value from the DAG
2056-
continue
2057-
2058-
kwargs[field.name] = value
2049+
kwargs[field.name] = getattr(dag, field.name)
20592050

20602051
new_dag = cls(**kwargs)
20612052

airflow-core/tests/unit/serialization/test_dag_serialization.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -686,10 +686,6 @@ def validate_deserialized_dag(self, serialized_dag: DAG, dag: DAG):
686686
actual = getattr(serialized_dag, field)
687687
expected = getattr(dag, field, None)
688688

689-
if field == "max_consecutive_failed_dag_runs":
690-
# TaskSDK sets -1 default to max_consecutive_failed_dag_runs
691-
assert actual in [expected, 0], f"{dag.dag_id}.{field} does not match"
692-
continue
693689
assert actual == expected, f"{dag.dag_id}.{field} does not match"
694690
# _processor_dags_folder is only populated at serialization time
695691
# it's only used when relying on serialized dag to determine a dag's relative path

task-sdk/src/airflow/sdk/definitions/dag.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -399,9 +399,7 @@ def __rich_repr__(self):
399399
user_defined_filters: dict | None = None
400400
max_active_tasks: int = attrs.field(default=16, validator=attrs.validators.instance_of(int))
401401
max_active_runs: int = attrs.field(default=16, validator=attrs.validators.instance_of(int))
402-
max_consecutive_failed_dag_runs: int = attrs.field(
403-
default=-1, validator=attrs.validators.instance_of(int)
404-
)
402+
max_consecutive_failed_dag_runs: int = attrs.field(default=0, validator=attrs.validators.instance_of(int))
405403
dagrun_timeout: timedelta | None = attrs.field(
406404
default=None,
407405
validator=attrs.validators.optional(attrs.validators.instance_of(timedelta)),

0 commit comments

Comments
 (0)