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

ephraimanierobi pushed a commit to branch v2-9-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit e4baada2841a2c26462c7e44d811d24ff63724cf
Author: Uladzimir Yushkevich <[email protected]>
AuthorDate: Tue May 28 03:03:07 2024 +0200

    Use SKIP LOCKED instead of NOWAIT in mini scheduler (#39745)
    
    (cherry picked from commit 7dc2b5243621f7a15ed1b44e1bf6eb81670f68d2)
---
 airflow/models/taskinstance.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/airflow/models/taskinstance.py b/airflow/models/taskinstance.py
index 09118fc106..c4fe6ff001 100644
--- a/airflow/models/taskinstance.py
+++ b/airflow/models/taskinstance.py
@@ -3455,8 +3455,13 @@ class TaskInstance(Base, LoggingMixin):
                     run_id=ti.run_id,
                 ),
                 session=session,
-                nowait=True,
-            ).one()
+                skip_locked=True,
+            ).one_or_none()
+
+            if not dag_run:
+                cls.logger().debug("Skip locked rows, rollback")
+                session.rollback()
+                return
 
             task = ti.task
             if TYPE_CHECKING:

Reply via email to