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

potiuk 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 757db273916 fix get latest serialized_dag model query to prevent "Out 
of sort memory" error (#55589)
757db273916 is described below

commit 757db2739168571db4e00a67f16b7ada9039785e
Author: Jeongwoo Do <[email protected]>
AuthorDate: Wed Oct 22 18:51:34 2025 +0900

    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
---
 airflow-core/src/airflow/models/serialized_dag.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/airflow-core/src/airflow/models/serialized_dag.py 
b/airflow-core/src/airflow/models/serialized_dag.py
index 7184a29effe..e5df49e2a95 100644
--- a/airflow-core/src/airflow/models/serialized_dag.py
+++ b/airflow-core/src/airflow/models/serialized_dag.py
@@ -461,6 +461,15 @@ class SerializedDagModel(Base):
 
     @classmethod
     def latest_item_select_object(cls, dag_id):
+        from airflow.settings import engine
+
+        if engine.dialect.name == "mysql":
+            # Prevent "Out of sort memory" caused by large values in cls.data 
column for MySQL.
+            # Details in https://github.com/apache/airflow/pull/55589
+            latest_item_id = (
+                select(cls.id).where(cls.dag_id == 
dag_id).order_by(cls.created_at.desc()).limit(1)
+            )
+            return select(cls).where(cls.id == latest_item_id)
         return select(cls).where(cls.dag_id == 
dag_id).order_by(cls.created_at.desc()).limit(1)
 
     @classmethod

Reply via email to