This is an automated email from the ASF dual-hosted git repository.
bbovenzi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new fff9011bac9 Handle none logical date and show dependency check for the
relevant state (#48067)
fff9011bac9 is described below
commit fff9011bac94c9883dc375e76aff58c1b8cf0e71
Author: Karthikeyan Singaravelan <[email protected]>
AuthorDate: Fri Mar 21 23:46:40 2025 +0530
Handle none logical date and show dependency check for the relevant state
(#48067)
* Fix table header alignment and show blocking dependencies on relevant
task state.
* Skip task start date dependency check when task instance logical date is
None.
---
.../src/airflow/ti_deps/deps/exec_date_after_start_date_dep.py | 9 +++++++--
.../src/airflow/ui/src/pages/TaskInstance/BlockingDeps.tsx | 4 ++--
airflow-core/src/airflow/ui/src/pages/TaskInstance/Details.tsx | 2 +-
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git
a/airflow-core/src/airflow/ti_deps/deps/exec_date_after_start_date_dep.py
b/airflow-core/src/airflow/ti_deps/deps/exec_date_after_start_date_dep.py
index 4832ea2806b..c96615247cc 100644
--- a/airflow-core/src/airflow/ti_deps/deps/exec_date_after_start_date_dep.py
+++ b/airflow-core/src/airflow/ti_deps/deps/exec_date_after_start_date_dep.py
@@ -29,7 +29,7 @@ class ExecDateAfterStartDateDep(BaseTIDep):
@provide_session
def _get_dep_statuses(self, ti, session, dep_context):
- if ti.task.start_date and ti.logical_date < ti.task.start_date:
+ if ti.task.start_date and ti.logical_date and ti.logical_date <
ti.task.start_date:
yield self._failing_status(
reason=(
f"The logical date is {ti.logical_date.isoformat()} but
this is before "
@@ -37,7 +37,12 @@ class ExecDateAfterStartDateDep(BaseTIDep):
)
)
- if ti.task.dag and ti.task.dag.start_date and ti.logical_date <
ti.task.dag.start_date:
+ if (
+ ti.task.dag
+ and ti.task.dag.start_date
+ and ti.logical_date
+ and ti.logical_date < ti.task.dag.start_date
+ ):
yield self._failing_status(
reason=(
f"The logical date is {ti.logical_date.isoformat()} but
this is "
diff --git
a/airflow-core/src/airflow/ui/src/pages/TaskInstance/BlockingDeps.tsx
b/airflow-core/src/airflow/ui/src/pages/TaskInstance/BlockingDeps.tsx
index 5d95d40b00a..e14502b7475 100644
--- a/airflow-core/src/airflow/ui/src/pages/TaskInstance/BlockingDeps.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/TaskInstance/BlockingDeps.tsx
@@ -41,8 +41,8 @@ export const BlockingDeps = ({ taskInstance }: { readonly
taskInstance: TaskInst
<Table.Root striped>
<Table.Body>
<Table.Row>
- <Table.Header>Dependency</Table.Header>
- <Table.Header>Reason</Table.Header>
+ <Table.ColumnHeader>Dependency</Table.ColumnHeader>
+ <Table.ColumnHeader>Reason</Table.ColumnHeader>
</Table.Row>
{data.dependencies.map((dep) => (
<Table.Row key={dep.name}>
diff --git a/airflow-core/src/airflow/ui/src/pages/TaskInstance/Details.tsx
b/airflow-core/src/airflow/ui/src/pages/TaskInstance/Details.tsx
index 3afed1bb000..bf2a7b7ba21 100644
--- a/airflow-core/src/airflow/ui/src/pages/TaskInstance/Details.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/TaskInstance/Details.tsx
@@ -106,7 +106,7 @@ export const Details = () => {
<ExtraLinks />
{taskInstance === undefined ||
// eslint-disable-next-line unicorn/no-null
- [null, "queued", "scheduled"].includes(taskInstance.state) ? undefined :
(
+ ![null, "queued", "scheduled"].includes(taskInstance.state) ? undefined
: (
<BlockingDeps taskInstance={taskInstance} />
)}
{taskInstance !== undefined && (taskInstance.trigger ??
taskInstance.triggerer_job) ? (