From 89ff8e1f3e2d165a6ab17322f1a438298faa690b Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Tue, 22 Sep 2020 15:54:26 -0400 Subject: [PATCH] change host -> last_job_id bulk update query to avoid locking issues see: https://github.com/ansible/awx/issues/8145 --- awx/main/models/events.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/awx/main/models/events.py b/awx/main/models/events.py index 1f79b0e24b..d701c142cf 100644 --- a/awx/main/models/events.py +++ b/awx/main/models/events.py @@ -520,13 +520,21 @@ class JobEvent(BasePlaybookEvent): (summary['host_id'], summary['id']) for summary in JobHostSummary.objects.filter(job_id=job.id).values('id', 'host_id') ) + updated_hosts = set() for h in all_hosts: # if the hostname *shows up* in the playbook_on_stats event if h.name in hostnames: h.last_job_id = job.id + updated_hosts.add(h) if h.id in host_mapping: h.last_job_host_summary_id = host_mapping[h.id] - Host.objects.bulk_update(all_hosts, ['last_job_id', 'last_job_host_summary_id']) + updated_hosts.add(h) + + Host.objects.bulk_update( + list(updated_hosts), + ['last_job_id', 'last_job_host_summary_id'], + batch_size=100 + ) @property