AlinsRan commented on code in PR #2846:
URL: 
https://github.com/apache/apisix-ingress-controller/pull/2846#discussion_r3782106278


##########
internal/controller/gateway_controller.go:
##########
@@ -253,10 +258,41 @@ func (r *GatewayReconciler) Reconcile(ctx 
context.Context, req ctrl.Request) (ct
                        }),
                })
 
-               return ctrl.Result{}, nil
+               return ctrl.Result{}, addrResolveErr
+       }
+
+       return ctrl.Result{}, addrResolveErr

Review Comment:
   The data plane is no longer blocked, thanks. Returning the error still has 
two costs worth weighing:
   
   - A permanent failure retries forever. `publishService: a/b/c` fails in 
`SplitMetaNamespaceKey`, and a typo'd name is NotFound until someone edits the 
GatewayProxy — neither can ever succeed on retry. With the default rate limiter 
that is one full reconcile every 1000s, `r.Provider.Update` included, so a typo 
keeps re-translating and re-pushing to APISIX indefinitely.
   - It shows up as a controller failure. Every attempt is logged at error 
level and counted in `controller_runtime_reconcile_errors_total`, so a 
status-address problem trips alerts built on that metric.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to