From 94e9a85e76e17adc91117248d6230cdb73f48a6f Mon Sep 17 00:00:00 2001 From: nrfox Date: Fri, 19 Oct 2018 13:54:31 -0400 Subject: [PATCH] Requeue work item on syncHandler error Kubernetes-commit: 8f86654b8e23bbf960a286712df35c003f7389f8 --- controller.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/controller.go b/controller.go index 57541c71..ab8468a0 100644 --- a/controller.go +++ b/controller.go @@ -219,7 +219,9 @@ func (c *Controller) processNextWorkItem() bool { // Run the syncHandler, passing it the namespace/name string of the // Foo resource to be synced. if err := c.syncHandler(key); err != nil { - return fmt.Errorf("error syncing '%s': %s", key, err.Error()) + // Put the item back on the workqueue to handle any transient errors. + c.workqueue.AddRateLimited(key) + return fmt.Errorf("error syncing '%s': %s, requeuing", key, err.Error()) } // Finally, if no error occurs we Forget this item so it does not // get queued again until another change happens.