diff --git a/pkg/controller/garbagecollector/garbagecollector.go b/pkg/controller/garbagecollector/garbagecollector.go index dbe4f30d689..566306e5763 100644 --- a/pkg/controller/garbagecollector/garbagecollector.go +++ b/pkg/controller/garbagecollector/garbagecollector.go @@ -581,6 +581,9 @@ func (gc *GarbageCollector) worker() { err := gc.processItem(timedItem.Object.(*node)) if err != nil { utilruntime.HandleError(fmt.Errorf("Error syncing item %#v: %v", timedItem.Object, err)) + // retry if garbage collection of an object failed. + gc.dirtyQueue.Add(timedItem) + return } DirtyProcessingLatency.Observe(sinceInMicroseconds(gc.clock, timedItem.StartTime)) }