@@ -234,7 +234,10 @@ func (c *controller) enqueueConsumer(logger klog.Logger, obj interface{}) {
234234 return
235235 }
236236
237- if ! c .isClaimed (logger , o , true ) {
237+ // If owner label is set - it was claimed before and might not be claimed now (example: reference gone or changed).
238+ // So we need to enqueue it to check if it is still needed.
239+ _ , wasClaimedBefore := o .GetLabels ()[kubebindv1alpha2 .ObjectOwnerLabel ]
240+ if ! wasClaimedBefore && ! c .isClaimed (logger , o , true ) {
238241 return
239242 }
240243 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{}) {
293296 runtime .HandleError (fmt .Errorf ("unexpected type %T in enqueueProvider" , obj ))
294297 return
295298 }
296- if ! c .isClaimed (logger , o , false ) {
299+ // If owner label is set - it was claimed before and might not be claimed now (example: reference gone or changed).
300+ // So we need to enqueue it to check if it is still needed.
301+ _ , wasClaimedBefore := o .GetLabels ()[kubebindv1alpha2 .ObjectOwnerLabel ]
302+ if ! wasClaimedBefore && ! c .isClaimed (logger , o , false ) {
297303 logger .V (4 ).Info ("object is not claimed, skipping" , "object" , o .GetObjectKind ().GroupVersionKind (), "name" , o .GetName ())
298304 return
299305 }
0 commit comments