@@ -134,6 +134,10 @@ func (g *reconcilerReconcilerGenerator) GenerateType(c *generator.Context, t *ty
134134 Package : "k8s.io/apimachinery/pkg/api/errors" ,
135135 Name : "IsNotFound" ,
136136 }),
137+ "apierrsIsConflict" : c .Universe .Function (types.Name {
138+ Package : "k8s.io/apimachinery/pkg/api/errors" ,
139+ Name : "IsConflict" ,
140+ }),
137141 "metav1GetOptions" : c .Universe .Function (types.Name {
138142 Package : "k8s.io/apimachinery/pkg/apis/meta/v1" ,
139143 Name : "GetOptions" ,
@@ -573,6 +577,8 @@ func (r *reconcilerImpl) Reconcile(ctx {{.contextContext|raw}}, key string) erro
573577 // This is a wrapped error, don't emit an event.
574578 } else if ok, _ := {{ .controllerIsRequeueKey|raw }}(reconcileEvent); ok {
575579 // This is a wrapped error, don't emit an event.
580+ } else if {{ .apierrsIsConflict|raw }}(reconcileEvent) {
581+ // Conflict errors are expected, don't emit an event.
576582 } else {
577583 logger.Errorw("Returned an error", zap.Error(reconcileEvent))
578584 r.Recorder.Event(resource, {{.corev1EventTypeWarning|raw}}, "InternalError", reconcileEvent.Error())
@@ -698,8 +704,10 @@ func (r *reconcilerImpl) updateFinalizersFilteredServerSideApply(ctx {{.contextC
698704
699705 updated, err := patcher.Patch(ctx, resource.Name, {{.typesApplyPatchType|raw}}, patch, patchOpts)
700706 if err != nil {
701- r.Recorder.Eventf(resource, {{.corev1EventTypeWarning|raw}}, "FinalizerUpdateFailed",
702- "Failed to update finalizers for %q via server-side apply: %v", resource.Name, err)
707+ if !{{ .apierrsIsConflict|raw }}(err) {
708+ r.Recorder.Eventf(resource, {{.corev1EventTypeWarning|raw}}, "FinalizerUpdateFailed",
709+ "Failed to update finalizers for %q via server-side apply: %v", resource.Name, err)
710+ }
703711 } else {
704712 r.Recorder.Eventf(updated, {{.corev1EventTypeNormal|raw}}, "FinalizerUpdate",
705713 "Updated finalizers for %q via server-side apply", resource.GetName())
@@ -754,8 +762,10 @@ func (r *reconcilerImpl) updateFinalizersFilteredMergePatch(ctx {{.contextContex
754762 resourceName := resource.Name
755763 updated, err := patcher.Patch(ctx, resourceName, {{.typesMergePatchType|raw}}, patch, {{.metav1PatchOptions|raw}}{})
756764 if err != nil {
757- r.Recorder.Eventf(existing, {{.corev1EventTypeWarning|raw}}, "FinalizerUpdateFailed",
758- "Failed to update finalizers for %q: %v", resourceName, err)
765+ if !{{ .apierrsIsConflict|raw }}(err) {
766+ r.Recorder.Eventf(existing, {{.corev1EventTypeWarning|raw}}, "FinalizerUpdateFailed",
767+ "Failed to update finalizers for %q: %v", resourceName, err)
768+ }
759769 } else {
760770 r.Recorder.Eventf(updated, {{.corev1EventTypeNormal|raw}}, "FinalizerUpdate",
761771 "Updated %q finalizers", resource.GetName())
0 commit comments