Skip to content

Consolidate UI Dependency Graphs#69833

Open
bbovenzi wants to merge 5 commits into
apache:mainfrom
astronomer:simple-dep-graph
Open

Consolidate UI Dependency Graphs#69833
bbovenzi wants to merge 5 commits into
apache:mainfrom
astronomer:simple-dep-graph

Conversation

@bbovenzi

@bbovenzi bbovenzi commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Before, users had to toggle between "immediate dependencies" and "all dependencies" options. Immediate dependencies showed the asset conditions but only one level above or below the dag in question. "All dependencies" didn't include asset conditions. This was always meant to be temporary.

This PR consolidates the two options into one endpoint. And always includes the logic gates for Any/all conditions.

Also, localstorage now saves the "show all dag dependencies" or not globally so it is easier to navigate between dags and assets without the graph losing connections.

Screenshot 2026-07-13 at 11 17 33 AM Screenshot 2026-07-13 at 11 17 11 AM
Was generative AI tooling used to co-author this PR?
  • Yes Claude Sonnet

  • Read the Pull Request Guidelines for more information. Note: commit author/co-author name and email in commits become permanently public when merged.
  • For fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
  • When adding dependency, check compliance with the ASF 3rd Party License Policy.
  • For significant user-facing changes create newsfragment: {pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.

@boring-cyborg boring-cyborg Bot added area:API Airflow's REST/HTTP API area:translations area:UI Related to UI/UX. For Frontend Developers. translation:default labels Jul 13, 2026
@bbovenzi
bbovenzi marked this pull request as ready for review July 14, 2026 18:53
@bbovenzi bbovenzi added this to the Airflow 3.4.0 milestone Jul 14, 2026
@bbovenzi
bbovenzi force-pushed the simple-dep-graph branch 2 times, most recently from 6a55a54 to c01c322 Compare July 15, 2026 16:12
Comment thread airflow-core/src/airflow/api_fastapi/core_api/services/ui/dependencies.py Outdated
@pierrejeambrun

pierrejeambrun commented Jul 20, 2026

Copy link
Copy Markdown
Member

Just one small question, otherwise looking good to me. (needs rebase though)

bbovenzi added 3 commits July 21, 2026 09:41
…ies graph

Resolving each scheduled Dag's entry task previously deserialized the full
Dag once per Dag discovered while tracing an asset's dependencies -- for an
asset feeding many Dags, that's N full Dag deserializations plus N round
trips. Restructures the BFS to process a whole frontier of assets per round
and batch-resolve every scheduled Dag's entry point in a single query.
bbovenzi added 2 commits July 23, 2026 11:51
Fix nested boolean asset conditions dropping sibling branches so
(a & b) | (c & d) renders both gates; read a scheduled Dag's entry task
from serialized JSON instead of deserializing every Dag while tracing an
asset's lineage; and recover alias-produced assets' source task from
AssetEvent so they still show a producer. Also harden a malformed
expression against a 500 and link a Dag to every triggering asset in the
degraded fallback.
The dependency-view toggle moved from a per-Dag localStorage key to a
single global one, leaving the old `dependencies-<dag_id>` entries stranded
in every user's browser storage. Clean them up once at load.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:API Airflow's REST/HTTP API area:translations area:UI Related to UI/UX. For Frontend Developers. translation:default

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants