Lee-W commented on code in PR #39585:
URL: https://github.com/apache/airflow/pull/39585#discussion_r1623881260


##########
airflow/models/taskinstance.py:
##########
@@ -1615,8 +1632,10 @@ def _defer_task(
             ti.trigger_timeout = ti.start_date + execution_timeout
     if ti.test_mode:
         _add_log(event=ti.state, task_instance=ti, session=session)
-    session.merge(ti)
-    session.commit()
+
+    if exception is not None:

Review Comment:
   This is the error I got
   
   ```
     File "/opt/airflow/airflow/jobs/scheduler_job_runner.py", line 1491, in 
_schedule_dag_run
       dag_run.schedule_tis(schedulable_tis, session, 
max_tis_per_query=self.job.max_tis_per_query)
     File "/opt/airflow/airflow/utils/session.py", line 81, in wrapper
       return func(*args, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^
     File "/opt/airflow/airflow/models/dagrun.py", line 1545, in schedule_tis
       ti.defer_task(session=session)
     File "/opt/airflow/airflow/utils/session.py", line 81, in wrapper
       return func(*args, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^
     File "/opt/airflow/airflow/models/taskinstance.py", line 3027, in 
defer_task
       _defer_task(ti=self, session=session, exception=exception)
     File "/opt/airflow/airflow/api_internal/internal_api_call.py", line 127, 
in wrapper
       return func(*args, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^
     File "/opt/airflow/airflow/utils/session.py", line 81, in wrapper
       return func(*args, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^
     File "/opt/airflow/airflow/models/taskinstance.py", line 1638, in 
_defer_task
       session.commit()
     File "/usr/local/lib/python3.12/site-packages/sqlalchemy/orm/session.py", 
line 1454, in commit
       self._transaction.commit(_to_root=self.future)
     File "/usr/local/lib/python3.12/site-packages/sqlalchemy/orm/session.py", 
line 832, in commit
       self._prepare_impl()
     File "/usr/local/lib/python3.12/site-packages/sqlalchemy/orm/session.py", 
line 800, in _prepare_impl
       self.session.dispatch.before_commit(self.session)
     File "/usr/local/lib/python3.12/site-packages/sqlalchemy/event/attr.py", 
line 346, in __call__
       fn(*args, **kw)
     File "/opt/airflow/airflow/utils/sqlalchemy.py", line 422, in 
_validate_commit
       raise RuntimeError("UNEXPECTED COMMIT - THIS WILL BREAK HA LOCKS!")
   RuntimeError: UNEXPECTED COMMIT - THIS WILL BREAK HA LOCKS!
   [2024-06-03 07:05:38 +0000] [178] [INFO] Shutting down: Master
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to