From 02778b536110fd8a322454e5fcfdacf13b468716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Sch=C3=BCller?= Date: Wed, 13 Nov 2024 16:35:31 +0100 Subject: [PATCH] cloudapi/v2/server: assure order of fail-calls by avoiding map but rather using a slice the order of SetFailed is maintained --- internal/cloudapi/v2/server.go | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/internal/cloudapi/v2/server.go b/internal/cloudapi/v2/server.go index ca0b8d86c..1dfb83860 100644 --- a/internal/cloudapi/v2/server.go +++ b/internal/cloudapi/v2/server.go @@ -469,18 +469,21 @@ func serializeManifest(ctx context.Context, manifestSource *manifest.Manifest, w if jobResult.JobError != nil { // set all jobs to "failed" // osbuild job will fail as dependency - jobs := map[string]uuid.UUID{ - "depsolve": depsolveJobID, - "containerResolve": containerResolveJobID, - "ostreeResolve": ostreeResolveJobID, - "manifest": manifestJobID, + jobs := []struct { + Name string + ID uuid.UUID + }{ + {"depsolve", depsolveJobID}, + {"containerResolve", containerResolveJobID}, + {"ostreeResolve", ostreeResolveJobID}, + {"manifest", manifestJobID}, } - for jobName, jobID := range jobs { - if jobID != uuid.Nil { - err := workers.SetFailed(jobID, jobResult.JobError) + for _, job := range jobs { + if job.ID != uuid.Nil { + err := workers.SetFailed(job.ID, jobResult.JobError) if err != nil { - logWithId.Errorf("Error failing %s job: %v", jobName, err) + logWithId.Errorf("Error failing %s job: %v", job.Name, err) } } }