Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion airflow-core/src/airflow/serialization/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@
"pool": { "type": "string", "default": "default_pool" },
"pool_slots": { "type": "number", "default": 1 },
"execution_timeout": { "$ref": "#/definitions/timedelta" },
"retry_delay": { "$ref": "#/definitions/timedelta" },
"retry_delay": { "$ref": "#/definitions/timedelta", "default": 300 },
"retry_exponential_backoff": { "type": "boolean", "default": false },
"max_retry_delay": { "$ref": "#/definitions/timedelta" },
"params": { "$ref": "#/definitions/params" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1291,7 +1291,7 @@ class SerializedBaseOperator(DAGNode, BaseSerialization):

resources: dict[str, Any] | None = None
retries: int = 0
retry_delay: datetime.timedelta
retry_delay: datetime.timedelta = datetime.timedelta(seconds=300)
retry_exponential_backoff: bool = False
run_as_user: str | None = None

Expand Down
3 changes: 3 additions & 0 deletions scripts/in_container/run_schema_defaults_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

import json
import sys
from datetime import timedelta
from pathlib import Path
from typing import Any

Expand Down Expand Up @@ -80,6 +81,8 @@ def get_server_side_operator_defaults() -> dict[str, Any]:
if isinstance(default_value, (set, tuple)):
# Convert to list since schema.json is pure JSON
default_value = list(default_value)
elif isinstance(default_value, timedelta):
default_value = default_value.total_seconds()
server_defaults[field_name] = default_value

return server_defaults
Expand Down
Loading