From ac642c3d70ab55f38489d01202ca3f428812adf5 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Tue, 15 Mar 2022 20:04:20 +0000 Subject: [PATCH] server/requestJob: failing to read job status is fatal Error out early in case reading a job status fails. The state would otherwise be inconsistent if only some of the job statuses have been read out. --- internal/worker/server.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/worker/server.go b/internal/worker/server.go index cb30e043e..9405d06b9 100644 --- a/internal/worker/server.go +++ b/internal/worker/server.go @@ -452,13 +452,18 @@ func (s *Server) requestJob(ctx context.Context, arch string, jobTypes []string, jobType, status, _, err := s.jobStatus(jobId, nil) if err != nil { logrus.Errorf("error retrieving job status: %v", err) + return } else { prometheus.DequeueJobMetrics(status.Queued, status.Started, jobType) } for _, depID := range depIDs { // TODO: include type of arguments - _, result, _, _, _, _, _, _ := s.jobs.JobStatus(depID) + var result json.RawMessage + _, result, _, _, _, _, _, err = s.jobs.JobStatus(depID) + if err != nil { + return + } dynamicArgs = append(dynamicArgs, result) }