@@ -220,8 +220,8 @@ func (r *xSetCommonReconciler) doSync(ctx context.Context, instance api.XSetObje
220220 return nil , err
221221 }
222222
223- if xsetTerminating , err := r . releaseResourcesForDeletion ( ctx , instance , syncContext . NewStatus ); xsetTerminating || err != nil {
224- return nil , err
223+ if instance . GetDeletionTimestamp () != nil {
224+ return nil , r . releaseResourcesForDeletion ( ctx , instance , syncContext . NewStatus )
225225 }
226226
227227 err = r .syncControl .Replace (ctx , instance , syncContext )
@@ -265,40 +265,40 @@ func (r *xSetCommonReconciler) ensureFinalizer(ctx context.Context, instance api
265265 return nil
266266}
267267
268- func (r * xSetCommonReconciler ) releaseResourcesForDeletion (ctx context.Context , instance api.XSetObject , newStatus * api.XSetStatus ) ( bool , error ) {
268+ func (r * xSetCommonReconciler ) releaseResourcesForDeletion (ctx context.Context , instance api.XSetObject , newStatus * api.XSetStatus ) error {
269269 if instance .GetDeletionTimestamp () == nil {
270- return false , nil
270+ return nil
271271 }
272272
273273 // reclaim target sub resources before remove finalizers
274274 if err := r .ensureReclaimTargetSubResources (ctx , instance ); err != nil {
275275 synccontrols .AddOrUpdateCondition (newStatus , api .XSetTerminating , err , "ReclaimSubResourcesFailed" , err .Error ())
276- return true , err
276+ return err
277277 }
278278
279279 // reclaim decoration ownerReferences before remove finalizers
280280 if err := r .ensureReclaimOwnerReferences (ctx , instance ); err != nil {
281281 synccontrols .AddOrUpdateCondition (newStatus , api .XSetTerminating , err , "ReclaimOwnerReferencesFailed" , err .Error ())
282- return true , err
282+ return err
283283 }
284284
285285 // reclaim targets deletion before remove finalizers
286286 if cleaned , err := r .ensureReclaimTargetsDeletion (ctx , instance ); err != nil {
287287 synccontrols .AddOrUpdateCondition (newStatus , api .XSetTerminating , err , "ReclaimTargetsDeletionFailed" , err .Error ())
288- return true , err
288+ return err
289289 } else if ! cleaned {
290290 synccontrols .AddOrUpdateCondition (newStatus , api .XSetTerminating , errors .New ("deleting targets" ), "ReclaimingTargetsDeletion" , fmt .Sprintf ("waiting for all %s deleted" , r .XSetController .XMeta ().Kind ))
291- return true , nil
291+ return nil
292292 }
293293
294294 // reclaim owner IDs in ResourceContextControl
295295 if err := r .resourceContextControl .UpdateToTargetContext (ctx , instance , nil ); err != nil {
296296 synccontrols .AddOrUpdateCondition (newStatus , api .XSetTerminating , err , "ReclaimResourceContext" , err .Error ())
297- return true , err
297+ return err
298298 }
299299
300300 synccontrols .AddOrUpdateCondition (newStatus , api .XSetTerminating , nil , "Deleted" , "" )
301- return true , nil
301+ return nil
302302}
303303
304304func (r * xSetCommonReconciler ) ensureReclaimTargetSubResources (ctx context.Context , xset api.XSetObject ) error {
0 commit comments