You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ep...@apache.org on 2026/01/27 18:41:16 UTC
(airflow) 06/11: Update SerializedDagModel query to fetch DagVersion with joinedload (#56422)
This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a commit to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 75682e90f895faf849048e3a35c178d77d205659
Author: anshuksi282-ksolves <an...@ksolves.com>
AuthorDate: Mon Oct 27 15:28:45 2025 +0530
Update SerializedDagModel query to fetch DagVersion with joinedload (#56422)
(cherry picked from commit eeb203ee932672c7a8225cb8bba32fd3e4da408c)
---
airflow-core/src/airflow/models/serialized_dag.py | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/airflow-core/src/airflow/models/serialized_dag.py b/airflow-core/src/airflow/models/serialized_dag.py
index 9a425585cff..0150195eff9 100644
--- a/airflow-core/src/airflow/models/serialized_dag.py
+++ b/airflow-core/src/airflow/models/serialized_dag.py
@@ -28,7 +28,7 @@ from typing import TYPE_CHECKING, Any, Literal
import sqlalchemy_jsonfield
import uuid6
from sqlalchemy import Column, ForeignKey, LargeBinary, String, exc, exists, select, tuple_, update
-from sqlalchemy.orm import backref, foreign, relationship
+from sqlalchemy.orm import backref, foreign, joinedload, relationship
from sqlalchemy.sql.expression import func, literal
from sqlalchemy_utils import UUIDType
@@ -414,7 +414,14 @@ class SerializedDagModel(Base):
serialized_dag_hash = session.scalars(
select(cls.dag_hash).where(cls.dag_id == dag.dag_id).order_by(cls.created_at.desc())
).first()
- dag_version = DagVersion.get_latest_version(dag.dag_id, session=session)
+ dag_version = session.scalar(
+ select(DagVersion)
+ .where(DagVersion.dag_id == dag.dag_id)
+ .options(joinedload(DagVersion.task_instances))
+ .options(joinedload(DagVersion.serialized_dag))
+ .order_by(DagVersion.created_at.desc())
+ .limit(1)
+ )
if (
serialized_dag_hash == new_serialized_dag.dag_hash