From b2e8f0acfef298476540d6a8d6f6ccb8683149a6 Mon Sep 17 00:00:00 2001 From: Mangirdas Judeikis Date: Fri, 28 Nov 2025 10:13:45 +0200 Subject: [PATCH 1/2] Re-check previously owned --- .../claimedresources/claimedresources_controller.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/konnector/controllers/cluster/claimedresources/claimedresources_controller.go b/pkg/konnector/controllers/cluster/claimedresources/claimedresources_controller.go index aa8d2d716..670425e10 100644 --- a/pkg/konnector/controllers/cluster/claimedresources/claimedresources_controller.go +++ b/pkg/konnector/controllers/cluster/claimedresources/claimedresources_controller.go @@ -234,7 +234,10 @@ func (c *controller) enqueueConsumer(logger klog.Logger, obj interface{}) { return } - if !c.isClaimed(logger, o, true) { + // If owner label is set - it was claimed before and might not be claimed now (example: reference gone or changed). + // So we need to enqueue it to check if it is still needed. + _, wasClaimedBefore := o.GetLabels()[kubebindv1alpha2.ObjectOwnerLabel] + if !c.isClaimed(logger, o, true) && !wasClaimedBefore { return } logger.V(2).Info("queueing consumer object", "gvr", o.GroupVersionKind().String(), "key", fmt.Sprintf("%s/%s", o.GetNamespace(), o.GetName())) @@ -293,7 +296,10 @@ func (c *controller) enqueueProvider(logger klog.Logger, obj interface{}) { runtime.HandleError(fmt.Errorf("unexpected type %T in enqueueProvider", obj)) return } - if !c.isClaimed(logger, o, false) { + // If owner label is set - it was claimed before and might not be claimed now (example: reference gone or changed). + // So we need to enqueue it to check if it is still needed. + _, wasClaimedBefore := o.GetLabels()[kubebindv1alpha2.ObjectOwnerLabel] + if !c.isClaimed(logger, o, false) && !wasClaimedBefore { logger.V(4).Info("object is not claimed, skipping", "object", o.GetObjectKind().GroupVersionKind(), "name", o.GetName()) return } From add7fcb1b4cf4b1d88fdd81fa3b7929e3da24973 Mon Sep 17 00:00:00 2001 From: Mangirdas Judeikis Date: Mon, 1 Dec 2025 17:22:36 +0200 Subject: [PATCH 2/2] reverse order --- .../cluster/claimedresources/claimedresources_controller.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/konnector/controllers/cluster/claimedresources/claimedresources_controller.go b/pkg/konnector/controllers/cluster/claimedresources/claimedresources_controller.go index 670425e10..995fcbe71 100644 --- a/pkg/konnector/controllers/cluster/claimedresources/claimedresources_controller.go +++ b/pkg/konnector/controllers/cluster/claimedresources/claimedresources_controller.go @@ -237,7 +237,7 @@ func (c *controller) enqueueConsumer(logger klog.Logger, obj interface{}) { // If owner label is set - it was claimed before and might not be claimed now (example: reference gone or changed). // So we need to enqueue it to check if it is still needed. _, wasClaimedBefore := o.GetLabels()[kubebindv1alpha2.ObjectOwnerLabel] - if !c.isClaimed(logger, o, true) && !wasClaimedBefore { + if !wasClaimedBefore && !c.isClaimed(logger, o, true) { return } logger.V(2).Info("queueing consumer object", "gvr", o.GroupVersionKind().String(), "key", fmt.Sprintf("%s/%s", o.GetNamespace(), o.GetName())) @@ -299,7 +299,7 @@ func (c *controller) enqueueProvider(logger klog.Logger, obj interface{}) { // If owner label is set - it was claimed before and might not be claimed now (example: reference gone or changed). // So we need to enqueue it to check if it is still needed. _, wasClaimedBefore := o.GetLabels()[kubebindv1alpha2.ObjectOwnerLabel] - if !c.isClaimed(logger, o, false) && !wasClaimedBefore { + if !wasClaimedBefore && !c.isClaimed(logger, o, false) { logger.V(4).Info("object is not claimed, skipping", "object", o.GetObjectKind().GroupVersionKind(), "name", o.GetName()) return }