From 427841346a9ecb8eac10b9a8dc287a49a1bb7145 Mon Sep 17 00:00:00 2001 From: Tim Gross Date: Mon, 12 Oct 2020 13:16:44 -0400 Subject: [PATCH] Allow job Version to start at non-zero value Stop coercing version of new job to 0 in the state_store, so that we can add regions to a multi-region deployment. Send new version, rather than existing version, to MRD to accomodate version-choosing logic changes in ENT. Co-authored-by: Chris Baker <1675087+cgbaker@users.noreply.github.com> --- nomad/job_endpoint.go | 6 +++--- nomad/job_endpoint_oss.go | 2 +- nomad/state/state_store.go | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/nomad/job_endpoint.go b/nomad/job_endpoint.go index 09deab68640d..a75e9eddc2e4 100644 --- a/nomad/job_endpoint.go +++ b/nomad/job_endpoint.go @@ -327,11 +327,11 @@ func (j *Job) Register(args *structs.JobRegisterRequest, reply *structs.JobRegis // Submit a multiregion job to other regions (enterprise only). // The job will have its region interpolated. - var existingVersion uint64 + var newVersion uint64 if existingJob != nil { - existingVersion = existingJob.Version + newVersion = existingJob.Version + 1 } - isRunner, err := j.multiregionRegister(args, reply, existingVersion) + isRunner, err := j.multiregionRegister(args, reply, newVersion) if err != nil { return err } diff --git a/nomad/job_endpoint_oss.go b/nomad/job_endpoint_oss.go index c9688f1ce87a..ac43893f4ebe 100644 --- a/nomad/job_endpoint_oss.go +++ b/nomad/job_endpoint_oss.go @@ -16,7 +16,7 @@ func (j *Job) enforceSubmitJob(override bool, job *structs.Job) (error, error) { } // multiregionRegister is used to send a job across multiple regions -func (j *Job) multiregionRegister(args *structs.JobRegisterRequest, reply *structs.JobRegisterResponse, existingVersion uint64) (bool, error) { +func (j *Job) multiregionRegister(args *structs.JobRegisterRequest, reply *structs.JobRegisterResponse, newVersion uint64) (bool, error) { return false, nil } diff --git a/nomad/state/state_store.go b/nomad/state/state_store.go index 2e217c5dd0c8..9abbfdfbcd81 100644 --- a/nomad/state/state_store.go +++ b/nomad/state/state_store.go @@ -1434,7 +1434,6 @@ func (s *StateStore) upsertJobImpl(index uint64, job *structs.Job, keepVersion b job.CreateIndex = index job.ModifyIndex = index job.JobModifyIndex = index - job.Version = 0 if err := s.setJobStatus(index, txn, job, false, ""); err != nil { return fmt.Errorf("setting job status for %q failed: %v", job.ID, err)