-
Notifications
You must be signed in to change notification settings - Fork 14.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AIP-72: Handling up_for_retry
task instance states for AirflowTaskTimeout
and AirflowException
#44981
AIP-72: Handling up_for_retry
task instance states for AirflowTaskTimeout
and AirflowException
#44981
Changes from 9 commits
0135ea7
ecd3f37
a2dda6e
1806791
4bffe93
30da0f5
cb493ee
aebe0aa
f3df8fe
878b4e5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -39,6 +39,7 @@ class TerminalTIState(str, Enum): | |
FAILED = "failed" | ||
SKIPPED = "skipped" # A user can raise a AirflowSkipException from a task & it will be marked as skipped | ||
REMOVED = "removed" | ||
UP_FOR_RETRY = "up_for_retry" # We do not need to do anything actionable for this state, hence it is a terminal state. | ||
|
||
def __str__(self) -> str: | ||
return self.value | ||
|
@@ -50,7 +51,6 @@ class IntermediateTIState(str, Enum): | |
SCHEDULED = "scheduled" | ||
QUEUED = "queued" | ||
RESTARTING = "restarting" | ||
UP_FOR_RETRY = "up_for_retry" | ||
UP_FOR_RESCHEDULE = "up_for_reschedule" | ||
UPSTREAM_FAILED = "upstream_failed" | ||
DEFERRED = "deferred" | ||
|
@@ -80,7 +80,7 @@ class TaskInstanceState(str, Enum): | |
SUCCESS = TerminalTIState.SUCCESS # Task completed | ||
RESTARTING = IntermediateTIState.RESTARTING # External request to restart (e.g. cleared when running) | ||
FAILED = TerminalTIState.FAILED # Task errored out | ||
UP_FOR_RETRY = IntermediateTIState.UP_FOR_RETRY # Task failed but has retries left | ||
UP_FOR_RETRY = TerminalTIState.UP_FOR_RETRY # Task failed but has retries left | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should be There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think in DM we discussed |
||
UP_FOR_RESCHEDULE = IntermediateTIState.UP_FOR_RESCHEDULE # A waiting `reschedule` sensor | ||
UPSTREAM_FAILED = IntermediateTIState.UPSTREAM_FAILED # One or more upstream deps failed | ||
SKIPPED = TerminalTIState.SKIPPED # Skipped by branching or some other mechanism | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"terminal state" means the task is done; up for retry does not really feel like a terminal state.... since it's going to be retried....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this highlights an ambiguity / conflict. the TI-try is done, but the TI is not