func()

in internal/controller/appconfigurationprovider_controller.go [352:371]


func (reconciler *AzureAppConfigurationProviderReconciler) requeueWhenGetSettingsFailed(
	provider *acpv1.AzureAppConfigurationProvider,
	err error) (ctrl.Result, error) {
	requeueAfter := RequeueReconcileAfter
	reconciler.logAndSetFailStatus(provider, err)
	if errors.Is(err, &loader.ArgumentError{}) {
		return reconcile.Result{Requeue: false}, nil
	}
	var respErr *azcore.ResponseError
	if errors.As(err, &respErr) && respErr.StatusCode == 429 {
		retryAfter, err := strconv.Atoi(respErr.RawResponse.Header.Get(HeaderRetryAfter))
		if err == nil {
			requeueAfter = time.Duration(retryAfter) * time.Second
			klog.Errorf("Too many requests to the Azure App Configuration endpoint %s, retry the reconciliation after %d seconds", *provider.Spec.Endpoint, retryAfter)
		} else {
			klog.ErrorS(err, "Fail to parse the response header 'Retry-After'")
		}
	}
	return reconcile.Result{Requeue: true, RequeueAfter: requeueAfter}, nil
}