AAP-45541 Add test to recreate jobs/4075584/job_events/children_summary/ error (#16163)

* Add test to recreate the error

* Also begin to add detection for empty event

* Remove breakpoint

* fix: ignore events with missing event types

* run linter and apply changes

---------

Co-authored-by: AlanCoding <arominge@redhat.com>
Co-authored-by: Peter Braun <pbraun@redhat.com>
This commit is contained in:
Chris Meyers
2025-12-17 15:34:53 -05:00
committed by GitHub
parent d7eb714859
commit 41f1ffc1dd
2 changed files with 51 additions and 1 deletions

View File

@@ -3943,6 +3943,10 @@ class JobJobEventsChildrenSummary(APIView):
prev_non_meta_event = events[0]
for i, e in enumerate(events):
if not e['event']:
logging.warning(f'event type missing for event {e}')
continue
if not e['event'] in JobJobEventsChildrenSummary.meta_events:
prev_non_meta_event = e
if not e['uuid']:
@@ -3980,9 +3984,11 @@ class JobJobEventsChildrenSummary(APIView):
z = i
next_non_meta_event = events[-1]
while z < len(events):
if events[z]['event'] not in JobJobEventsChildrenSummary.meta_events:
if events[z]['event'] not in JobJobEventsChildrenSummary.meta_events + ('',):
next_non_meta_event = events[z]
break
elif not events[z]['event']:
logging.warning(f"JobEventChildrenSummary: job event 'event' field is unexpectedly empty for job {job.id}")
z += 1
event_level_after = models.JobEvent.LEVEL_FOR_EVENT[next_non_meta_event['event']]
if event_level_after and event_level_after > event_level_before: