Skip to content

Commit d1e5554

Browse files
authored
Merge pull request #4584 from vishwas121/main
Filter RequeueNeeded errors to skip event triggers on TGB controller
2 parents fe7767f + 6941f40 commit d1e5554

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

controllers/elbv2/targetgroupbinding_controller.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,9 @@ func (r *targetGroupBindingReconciler) reconcileTargetGroupBinding(ctx context.C
141141
}
142142
r.metricsCollector.ObserveControllerReconcileLatency(controllerName, "reconcile_targetgroupbinding", tgbResourceFn)
143143
if err != nil {
144-
r.eventRecorder.Event(tgb, corev1.EventTypeWarning, k8s.TargetGroupBindingEventReasonFailedReconcile, fmt.Sprintf("Failed reconcile due to %v", err))
144+
if !runtime.IsRequeueError(err) {
145+
r.eventRecorder.Event(tgb, corev1.EventTypeWarning, k8s.TargetGroupBindingEventReasonFailedReconcile, fmt.Sprintf("Failed reconcile due to %v", err))
146+
}
145147
return ctrlerrors.NewErrorWithMetrics(controllerName, "reconcile_targetgroupbinding_error", err, r.metricsCollector)
146148
}
147149

pkg/runtime/reconcile.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,19 @@ func HandleReconcileError(inputErr error, log logr.Logger) (ctrl.Result, error)
2929
return ctrl.Result{}, inputErr
3030
}
3131

32+
// IsRequeueError returns true when err indicates a requeue (expected retry).
33+
func IsRequeueError(err error) bool {
34+
var requeueNeededAfter *ctrlerrors.RequeueNeededAfter
35+
if errors.As(err, &requeueNeededAfter) {
36+
return true
37+
}
38+
var requeueNeeded *ctrlerrors.RequeueNeeded
39+
if errors.As(err, &requeueNeeded) {
40+
return true
41+
}
42+
return false
43+
}
44+
3245
func handleNestedError(err error) error {
3346
if err == nil {
3447
return nil

0 commit comments

Comments
 (0)