From 47e314ebc2a2f5c8f096cf2a6b69d5ff9fab02aa Mon Sep 17 00:00:00 2001 From: Louis Ruch Date: Wed, 29 Jan 2025 11:33:01 -0800 Subject: [PATCH] fix(scheduler): ignore 404 when updating job run (#5495) --- internal/scheduler/job/repository_run.go | 2 +- internal/scheduler/scheduler.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/scheduler/job/repository_run.go b/internal/scheduler/job/repository_run.go index b5c0eec419..a3c0803e2c 100644 --- a/internal/scheduler/job/repository_run.go +++ b/internal/scheduler/job/repository_run.go @@ -93,7 +93,7 @@ func (r *Repository) UpdateProgress(ctx context.Context, runId string, completed // Failed to update run, either it does not exist or was in an invalid state if err = r.LookupById(ctx, run); err != nil { if errors.IsNotFoundError(err) { - return errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("job run %q does not exist", runId))) + return errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("job run %q does not exist", runId)), errors.WithoutEvent()) } return errors.Wrap(ctx, err, op) } diff --git a/internal/scheduler/scheduler.go b/internal/scheduler/scheduler.go index 66592fe7b8..5969598a5f 100644 --- a/internal/scheduler/scheduler.go +++ b/internal/scheduler/scheduler.go @@ -332,8 +332,8 @@ func (s *Scheduler) updateRunningJobProgress(ctx context.Context, j *runningJob) } status := j.status() _, err = repo.UpdateProgress(ctx, j.runId, status.Completed, status.Total, status.Retries) - if errors.Match(errors.T(errors.InvalidJobRunState), err) { - // Job has been persisted with a final run status, cancel job context to trigger early exit. + if errors.Match(errors.T(errors.InvalidJobRunState), err) || errors.IsNotFoundError(err) { + // Job has been persisted with a final run status or deleted, cancel job context to trigger early exit. j.cancelCtx() return nil }