diff --git a/pkg/controller/job/job_controller.go b/pkg/controller/job/job_controller.go index b0fc86bb84c..978eca77ad1 100644 --- a/pkg/controller/job/job_controller.go +++ b/pkg/controller/job/job_controller.go @@ -531,12 +531,7 @@ func (jm *Controller) processNextWorkItem(ctx context.Context) bool { } utilruntime.HandleError(fmt.Errorf("syncing job: %w", err)) - if !apierrors.IsConflict(err) { - // If this was a conflict error, we expect a Job or Pod update event, which - // will add the job back to the queue. Avoiding the rate limited requeue - // saves an unnecessary sync. - jm.queue.AddRateLimited(key) - } + jm.queue.AddRateLimited(key) return true } diff --git a/pkg/controller/job/job_controller_test.go b/pkg/controller/job/job_controller_test.go index a7bea14d9b0..59d069d6ec9 100644 --- a/pkg/controller/job/job_controller_test.go +++ b/pkg/controller/job/job_controller_test.go @@ -1997,11 +1997,13 @@ func TestSyncJobUpdateRequeue(t *testing.T) { wantRequeue: true, }, "conflict error": { - updateErr: apierrors.NewConflict(schema.GroupResource{}, "", nil), + updateErr: apierrors.NewConflict(schema.GroupResource{}, "", nil), + wantRequeue: true, }, "conflict error, with finalizers": { withFinalizers: true, updateErr: apierrors.NewConflict(schema.GroupResource{}, "", nil), + wantRequeue: true, }, } for name, tc := range cases {