From cba92f9f6215629a58778162f5cd7f2a5e3fdb30 Mon Sep 17 00:00:00 2001 From: Benamar Mekhissi Date: Fri, 19 May 2023 10:32:02 -0400 Subject: [PATCH] Fix bug 2207632: infinite loop due to adding VR finalizer during PVC deletion Fixing bug 2207632: Resolve issue with VR falling into an infinite loop when attempting to add the finalizer replication.storage.openshift.io/pvc-protection during PVC deletion. Signed-off-by: Benamar Mekhissi --- controllers/volumereplication_controller.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/controllers/volumereplication_controller.go b/controllers/volumereplication_controller.go index 55648f3f..9fa723e6 100644 --- a/controllers/volumereplication_controller.go +++ b/controllers/volumereplication_controller.go @@ -188,10 +188,12 @@ func (r *VolumeReplicationReconciler) Reconcile(ctx context.Context, req ctrl.Re return reconcile.Result{}, err } - if err = r.addFinalizerToPVC(logger, pvc); err != nil { - logger.Error(err, "Failed to add PersistentVolumeClaim finalizer") + if pvc.GetDeletionTimestamp().IsZero() { + if err = r.addFinalizerToPVC(logger, pvc); err != nil { + logger.Error(err, "Failed to add PersistentVolumeClaim finalizer") - return reconcile.Result{}, err + return reconcile.Result{}, err + } } } else { if contains(instance.GetFinalizers(), volumeReplicationFinalizer) {