From 9564bdc39de0327c0c92156f1da77fa8fd040120 Mon Sep 17 00:00:00 2001 From: Michal Wozniak Date: Fri, 14 Jul 2023 19:09:39 +0200 Subject: [PATCH] Ensure final diff is used for setting expectations for Job pod creation --- pkg/controller/job/job_controller.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkg/controller/job/job_controller.go b/pkg/controller/job/job_controller.go index fa8c2f9669e..8ecd50ede3b 100644 --- a/pkg/controller/job/job_controller.go +++ b/pkg/controller/job/job_controller.go @@ -1453,17 +1453,18 @@ func (jm *Controller) manageJob(ctx context.Context, job *batch.Job, jobCtx *syn diff = int32(MaxPodCreateDeletePerSync) } + var indexesToAdd []int + if isIndexedJob(job) { + indexesToAdd = firstPendingIndexes(jobCtx, int(diff), int(*job.Spec.Completions)) + diff = int32(len(indexesToAdd)) + } + jm.expectations.ExpectCreations(logger, jobKey, int(diff)) errCh := make(chan error, diff) logger.V(4).Info("Too few pods running", "key", jobKey, "need", wantActive, "creating", diff) wait := sync.WaitGroup{} - var indexesToAdd []int - if isIndexedJob(job) { - indexesToAdd = firstPendingIndexes(jobCtx, int(diff), int(*job.Spec.Completions)) - diff = int32(len(indexesToAdd)) - } active += diff podTemplate := job.Spec.Template.DeepCopy()