diff options
author | George Goldberg <george@gberg.me> | 2018-06-29 09:27:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-29 09:27:06 +0100 |
commit | e51ae397664b6c2b04bfa263429da550240d160e (patch) | |
tree | 8bf4fc03b6a44ed5b64effdc0cd273fc122ac647 /migrations | |
parent | 912b140cc5e8b7feef3af2746c6a4ff06fb20b53 (diff) | |
download | chat-e51ae397664b6c2b04bfa263429da550240d160e.tar.gz chat-e51ae397664b6c2b04bfa263429da550240d160e.tar.bz2 chat-e51ae397664b6c2b04bfa263429da550240d160e.zip |
Fix a really rare race condition in the migration scheduler. (#9000)
Diffstat (limited to 'migrations')
-rw-r--r-- | migrations/scheduler.go | 2 |
1 files changed, 1 insertions, 1 deletions
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())) |