Skip to content

Commit 3919ee6

Browse files
authored
Fix task_instance_mutation_hook when importing airflow.models.dagrun (apache#15851)
If a dag imported `airflow.models.dagrun` it would cause task_instance_mutation_hook from the site local settings to not be picked up.
1 parent 6b46af1 commit 3919ee6

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

airflow/models/dagrun.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
from airflow.exceptions import AirflowException, TaskNotFound
4242
from airflow.models.base import ID_LEN, Base
4343
from airflow.models.taskinstance import TaskInstance as TI
44-
from airflow.settings import task_instance_mutation_hook
4544
from airflow.stats import Stats
4645
from airflow.ti_deps.dep_context import DepContext
4746
from airflow.ti_deps.dependencies_states import SCHEDULEABLE_STATES
@@ -633,6 +632,8 @@ def verify_integrity(self, session: Session = None):
633632
:param session: Sqlalchemy ORM Session
634633
:type session: Session
635634
"""
635+
from airflow.settings import task_instance_mutation_hook
636+
636637
dag = self.get_dag()
637638
tis = self.get_task_instances(session=session)
638639

tests/models/test_dagrun.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,7 @@ def test_already_added_task_instances_can_be_ignored(self):
611611
assert State.NONE == first_ti.state
612612

613613
@parameterized.expand([(state,) for state in State.task_states])
614-
@mock.patch('airflow.models.dagrun.task_instance_mutation_hook')
614+
@mock.patch('airflow.settings.task_instance_mutation_hook')
615615
def test_task_instance_mutation_hook(self, state, mock_hook):
616616
def mutate_task_instance(task_instance):
617617
if task_instance.queue == 'queue1':

0 commit comments

Comments
 (0)