From 6bdc198301beb48f4950fe21331834ba93e71e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 21 Apr 2022 19:03:51 +0200 Subject: [PATCH] Manager: more graceful errors when receiving task update of unknown task Return a 404 Not Found when the task can't be found, and a 500 on other errors. --- internal/manager/api_impl/jobs.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/manager/api_impl/jobs.go b/internal/manager/api_impl/jobs.go index 5005f21d..fe092ea2 100644 --- a/internal/manager/api_impl/jobs.go +++ b/internal/manager/api_impl/jobs.go @@ -171,7 +171,10 @@ func (f *Flamenco) TaskUpdate(e echo.Context, taskID string) error { dbTask, err := f.persist.FetchTask(ctx, taskID) if err != nil { logger.Warn().Err(err).Msg("cannot fetch task") - return sendAPIError(e, http.StatusNotFound, "task %+v not found", taskID) + if errors.Is(err, persistence.ErrTaskNotFound) { + return sendAPIError(e, http.StatusNotFound, "task %+v not found", taskID) + } + return sendAPIError(e, http.StatusInternalServerError, "error fetching task") } if dbTask == nil { panic("task could not be fetched, but database gave no error either")