Skip to content

Commit 757db27

Browse files
authored
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
1 parent 21c15cb commit 757db27

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
@@ -461,6 +461,15 @@ def write_dag(
461461

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

466475
@classmethod

0 commit comments

Comments
 (0)