diff --git a/pkg/controller/job/tracking_utils.go b/pkg/controller/job/tracking_utils.go index 55996a2a2b8..ffe22c20e76 100644 --- a/pkg/controller/job/tracking_utils.go +++ b/pkg/controller/job/tracking_utils.go @@ -105,8 +105,11 @@ func (u *uidTrackingExpectations) finalizerRemovalObserved(jobKey, deleteKey str // DeleteExpectations deletes the UID set. func (u *uidTrackingExpectations) deleteExpectations(jobKey string) { - if err := u.store.Delete(jobKey); err != nil { - klog.ErrorS(err, "deleting tracking annotation UID expectations", "job", jobKey) + set := u.getSet(jobKey) + if set != nil { + if err := u.store.Delete(set); err != nil { + klog.ErrorS(err, "Could not delete tracking annotation UID expectations", "job", jobKey) + } } } diff --git a/pkg/controller/job/tracking_utils_test.go b/pkg/controller/job/tracking_utils_test.go index 1fc595271d0..ed2a17327a0 100644 --- a/pkg/controller/job/tracking_utils_test.go +++ b/pkg/controller/job/tracking_utils_test.go @@ -108,4 +108,11 @@ func TestUIDTrackingExpectations(t *testing.T) { t.Errorf("Unexpected keys for job %s (-want,+got):\n%s", track.job, diff) } } + for _, track := range tracks { + expectations.deleteExpectations(track.job) + uids := expectations.getSet(track.job) + if uids != nil { + t.Errorf("Wanted expectations for job %s to be cleared, but they were not", track.job) + } + } }