This is an automated email from the ASF dual-hosted git repository.

phanikumv 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 45be7f823f3 feat(dag_dependency): add unresolved asset ref node 
(#49231)
45be7f823f3 is described below

commit 45be7f823f349045deb4d12a27028ed3c6718e62
Author: Wei Lee <[email protected]>
AuthorDate: Tue Apr 15 00:22:29 2025 +0800

    feat(dag_dependency): add unresolved asset ref node (#49231)
---
 airflow-core/src/airflow/models/serialized_dag.py     | 9 +++++++++
 airflow-core/tests/unit/models/test_serialized_dag.py | 9 ++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/airflow-core/src/airflow/models/serialized_dag.py 
b/airflow-core/src/airflow/models/serialized_dag.py
index dc45ffc8546..b4d8088dede 100644
--- a/airflow-core/src/airflow/models/serialized_dag.py
+++ b/airflow-core/src/airflow/models/serialized_dag.py
@@ -198,6 +198,15 @@ class _DagDependenciesResolver:
                 dependency_type="asset",
                 dependency_id=str(asset_id),
             )
+        else:
+            yield DagDependency(
+                source=dep_data["source"],
+                target=dep_data["target"],
+                # handle the case that serialized_dag does not have label 
column (e.g., from 2.x)
+                label=dep_data.get("label", dep_id),
+                dependency_type=dep_data["dependency_type"],
+                dependency_id=dep_id,
+            )
 
     def resolve_asset_name_ref_dag_dep(self, dep_data) -> 
Iterator[DagDependency]:
         return self.resolve_asset_ref_dag_dep(dep_data=dep_data, 
ref_type="asset-name-ref")
diff --git a/airflow-core/tests/unit/models/test_serialized_dag.py 
b/airflow-core/tests/unit/models/test_serialized_dag.py
index 95137ce0315..e361d7e050f 100644
--- a/airflow-core/tests/unit/models/test_serialized_dag.py
+++ b/airflow-core/tests/unit/models/test_serialized_dag.py
@@ -418,7 +418,14 @@ class TestSerializedDagModel:
                     label=asset_name,
                     dependency_type="asset",
                     dependency_id=f"{asset_id}",
-                )
+                ),
+                DagDependency(
+                    source="asset-uri-ref",
+                    target="test_get_dependencies_with_asset_ref_example",
+                    label="test://no-such-asset/",
+                    dependency_type="asset-uri-ref",
+                    dependency_id="test://no-such-asset/",
+                ),
             ]
         }
 

Reply via email to