Skip to content

Commit c68f44e

Browse files
github-actions[bot]sjyangkevinwjddn279
authored
[v3-1-test] fix get latest serialized_dag model query to prevent "Out of sort memory" error (#55589) (#57042)
* [v3-1-test] Fix Outlet Event Extra Data is Empty in Task Instance Success Listener (#54568) (#57031) Co-authored-by: Kevin Yang <85313829+sjyangkevin@users.noreply.github.com> * [v3-1-test] fix get latest serialized_dag model query to prevent "Out of sort memory" error (#55589) * fix get latest serialized_dag model query * fix get latest serialized_dag model query * add db type check logic (cherry picked from commit 757db27) Co-authored-by: Jeongwoo Do <48639483+wjddn279@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Kevin Yang <85313829+sjyangkevin@users.noreply.github.com> Co-authored-by: Jeongwoo Do <48639483+wjddn279@users.noreply.github.com>
1 parent 34a716d commit c68f44e

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

airflow-core/src/airflow/models/serialized_dag.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,15 @@ def write_dag(
460460

461461
@classmethod
462462
def latest_item_select_object(cls, dag_id):
463+
from airflow.settings import engine
464+
465+
if engine.dialect.name == "mysql":
466+
# Prevent "Out of sort memory" caused by large values in cls.data column for MySQL.
467+
# Details in https://github.com/apache/airflow/pull/55589
468+
latest_item_id = (
469+
select(cls.id).where(cls.dag_id == dag_id).order_by(cls.created_at.desc()).limit(1)
470+
)
471+
return select(cls).where(cls.id == latest_item_id)
463472
return select(cls).where(cls.dag_id == dag_id).order_by(cls.created_at.desc()).limit(1)
464473

465474
@classmethod

0 commit comments

Comments
 (0)