From e51ae397664b6c2b04bfa263429da550240d160e Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Fri, 29 Jun 2018 09:27:06 +0100 Subject: Fix a really rare race condition in the migration scheduler. (#9000) --- migrations/scheduler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'migrations') diff --git a/migrations/scheduler.go b/migrations/scheduler.go index 8a7ac30d0..5778c5cb3 100644 --- a/migrations/scheduler.go +++ b/migrations/scheduler.go @@ -59,7 +59,7 @@ func (scheduler *Scheduler) ScheduleJob(cfg *model.Config, pendingJobs bool, las if state == MIGRATION_STATE_IN_PROGRESS { // Check the migration job isn't wedged. - if job != nil && job.LastActivityAt < model.GetMillis()-MIGRATION_JOB_WEDGED_TIMEOUT_MILLISECONDS { + if job != nil && job.LastActivityAt < model.GetMillis()-MIGRATION_JOB_WEDGED_TIMEOUT_MILLISECONDS && job.CreateAt < model.GetMillis()-MIGRATION_JOB_WEDGED_TIMEOUT_MILLISECONDS { mlog.Warn("Job appears to be wedged. Rescheduling another instance.", mlog.String("scheduler", scheduler.Name()), mlog.String("wedged_job_id", job.Id), mlog.String("migration_key", key)) if err := scheduler.App.Jobs.SetJobError(job, nil); err != nil { mlog.Error("Worker: Failed to set job error", mlog.String("scheduler", scheduler.Name()), mlog.String("job_id", job.Id), mlog.String("error", err.Error())) -- cgit v1.2.3-1-g7c22