From b86d365dde6ebbca8fe2c0ea4e6485ab1f2d04d6 Mon Sep 17 00:00:00 2001 From: Jim Ladd Date: Tue, 6 Apr 2021 13:31:53 -0700 Subject: [PATCH] collect job events based on job event modified time * when collecting job events by creation time it is possible to miss events that were created at one point, but actually committed to the db much later. * since events' modified time is set when they are committed to the db, we shouldn't miss any job events * selecting job events by modified time wasn't possible beforehand because we didn't have an index for jobevent's modified field --- awx/main/analytics/collectors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/main/analytics/collectors.py b/awx/main/analytics/collectors.py index 9755beeac9..8893e1431c 100644 --- a/awx/main/analytics/collectors.py +++ b/awx/main/analytics/collectors.py @@ -77,7 +77,7 @@ def events_slicing(key, since, until, last_gather): lower = since or last_gather if not since and last_entries.get(key): lower = horizon - pk_values = models.JobEvent.objects.filter(created__gte=lower, created__lte=until).aggregate(Min('pk'), Max('pk')) + pk_values = models.JobEvent.objects.filter(modified__gte=lower, modified__lte=until).aggregate(Min('pk'), Max('pk')) previous_pk = pk_values['pk__min'] - 1 if pk_values['pk__min'] is not None else 0 if not since and last_entries.get(key):