diff --git a/pkg/controller/job/job_controller.go b/pkg/controller/job/job_controller.go index 28d713a3a87..df8d9367f28 100644 --- a/pkg/controller/job/job_controller.go +++ b/pkg/controller/job/job_controller.go @@ -232,10 +232,9 @@ func (jm *Controller) Run(ctx context.Context, workers int) { for i := 0; i < workers; i++ { go wait.UntilWithContext(ctx, jm.worker, time.Second) + go wait.UntilWithContext(ctx, jm.orphanWorker, time.Second) } - go wait.UntilWithContext(ctx, jm.orphanWorker, time.Second) - <-ctx.Done() } diff --git a/pkg/controller/job/job_controller_test.go b/pkg/controller/job/job_controller_test.go index 49e814c1d8f..9bcee76ef98 100644 --- a/pkg/controller/job/job_controller_test.go +++ b/pkg/controller/job/job_controller_test.go @@ -7627,6 +7627,8 @@ func TestFinalizerCleanup(t *testing.T) { // Initialize the controller with 0 workers to make sure the // pod finalizers are not removed by the "syncJob" function. go manager.Run(ctx, 0) + // Make sure the pod finalizers are removed by the "orphanWorker" function. + go wait.UntilWithContext(ctx, manager.orphanWorker, time.Second) // Create a simple Job job := newJob(1, 1, 1, batch.NonIndexedCompletion)