potiuk commented on code in PR #42082: URL: https://github.com/apache/airflow/pull/42082#discussion_r1798660407
########## airflow/models/taskinstance.py: ########## @@ -1760,16 +1758,16 @@ def _handle_reschedule( ti.end_date = timezone.utcnow() ti.set_duration() - # Lock DAG run to be sure not to get into a deadlock situation when trying to insert - # TaskReschedule which apparently also creates lock on corresponding DagRun entity - with_row_locks( - session.query(DagRun).filter_by( - dag_id=ti.dag_id, - run_id=ti.run_id, - ), - session=session, - ).one() - # Log reschedule request + # set state + ti.state = TaskInstanceState.UP_FOR_RESCHEDULE + + ti.clear_next_method_args() + + session.merge(ti) + session.commit() Review Comment: I recalled something. I vaguely recal there was some problem with mysql that FOR UPDATE was actually locking the FKs connected - and it caused deadlocks - because those indexes could be locked in other transactions in different sequence. I think this is the main reason why we have this strong lock here. But if we make the change for postgres only, then I guess that one is not a problem. -- 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: commits-unsubscr...@airflow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org