This is an automated email from the ASF dual-hosted git repository.
ashishtiwari pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git
The following commit(s) were added to refs/heads/master by this push:
new 2458b78f fix: candidate controllers missing Forget call in workqueue
(#2308)
2458b78f is described below
commit 2458b78fc69aedf9537bda1e5b4d9006dadf0bc0
Author: Ashish Tiwari <[email protected]>
AuthorDate: Mon Oct 14 21:26:29 2024 +0530
fix: candidate controllers missing Forget call in workqueue (#2308)
---
pkg/providers/apisix/apisix_global_rule.go | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/pkg/providers/apisix/apisix_global_rule.go
b/pkg/providers/apisix/apisix_global_rule.go
index 69b3d11f..4948543d 100644
--- a/pkg/providers/apisix/apisix_global_rule.go
+++ b/pkg/providers/apisix/apisix_global_rule.go
@@ -179,6 +179,13 @@ func (c *apisixGlobalRuleController) sync(ctx
context.Context, ev *types.Event)
}
func (c *apisixGlobalRuleController) handleSyncErr(obj interface{}, errOrigin
error) {
+ if errOrigin == nil {
+ c.MetricsCollector.IncrSyncOperation("GlobalRule", "success")
+ c.workqueue.Forget(obj)
+ } else {
+ c.workqueue.AddRateLimited(obj)
+ c.MetricsCollector.IncrSyncOperation("GlobalRule", "failure")
+ }
ev := obj.(*types.Event)
event := ev.Object.(kube.ApisixGlobalRuleEvent)
if k8serrors.IsNotFound(errOrigin) && ev.Type != types.EventDelete {
@@ -219,8 +226,6 @@ func (c *apisixGlobalRuleController) handleSyncErr(obj
interface{}, errOrigin er
)
}
}
- c.workqueue.Forget(obj)
- c.MetricsCollector.IncrSyncOperation("GlobalRule",
"success")
return
}
log.Warnw("sync ApisixGlobalRule failed, will retry",
@@ -241,8 +246,6 @@ func (c *apisixGlobalRuleController) handleSyncErr(obj
interface{}, errOrigin er
)
}
}
- c.workqueue.AddRateLimited(obj)
- c.MetricsCollector.IncrSyncOperation("GlobalRule", "failure")
}
func (c *apisixGlobalRuleController) onAdd(obj interface{}) {