Skip to content

Commit d15c80e

Browse files
authored
fix: return ASAP after handling finalizer (#940)
Signed-off-by: drivebyer <wuyangmuc@gmail.com>
1 parent 39ed5d0 commit d15c80e

File tree

4 files changed

+25
-19
lines changed

4 files changed

+25
-19
lines changed

controllers/redis_controller.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,16 @@ func (r *RedisReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl
5252
}
5353
return ctrl.Result{}, err
5454
}
55+
if instance.ObjectMeta.GetDeletionTimestamp() != nil {
56+
if err = k8sutils.HandleRedisFinalizer(r.Client, r.K8sClient, r.Log, instance); err != nil {
57+
return ctrl.Result{}, err
58+
}
59+
return ctrl.Result{}, nil
60+
}
5561
if _, found := instance.ObjectMeta.GetAnnotations()["redis.opstreelabs.in/skip-reconcile"]; found {
5662
reqLogger.Info("Found annotations redis.opstreelabs.in/skip-reconcile, so skipping reconcile")
5763
return ctrl.Result{RequeueAfter: time.Second * 10}, nil
5864
}
59-
if err = k8sutils.HandleRedisFinalizer(r.Client, r.K8sClient, r.Log, instance); err != nil {
60-
return ctrl.Result{}, err
61-
}
62-
6365
if err = k8sutils.AddFinalizer(instance, k8sutils.RedisFinalizer, r.Client); err != nil {
6466
return ctrl.Result{}, err
6567
}

controllers/rediscluster_controller.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,21 +54,22 @@ func (r *RedisClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request
5454
}
5555
return ctrl.Result{}, err
5656
}
57-
instance.SetDefault()
58-
57+
if instance.ObjectMeta.GetDeletionTimestamp() != nil {
58+
if err = k8sutils.HandleRedisClusterFinalizer(r.Client, r.K8sClient, r.Log, instance); err != nil {
59+
return ctrl.Result{}, err
60+
}
61+
return ctrl.Result{}, nil
62+
}
5963
if _, found := instance.ObjectMeta.GetAnnotations()["rediscluster.opstreelabs.in/skip-reconcile"]; found {
6064
reqLogger.Info("Found annotations rediscluster.opstreelabs.in/skip-reconcile, so skipping reconcile")
6165
return ctrl.Result{RequeueAfter: time.Second * 10}, nil
6266
}
67+
instance.SetDefault()
6368

6469
leaderReplicas := instance.Spec.GetReplicaCounts("leader")
6570
followerReplicas := instance.Spec.GetReplicaCounts("follower")
6671
totalReplicas := leaderReplicas + followerReplicas
6772

68-
if err = k8sutils.HandleRedisClusterFinalizer(r.Client, r.K8sClient, r.Log, instance); err != nil {
69-
return ctrl.Result{}, err
70-
}
71-
7273
if err = k8sutils.AddFinalizer(instance, k8sutils.RedisClusterFinalizer, r.Client); err != nil {
7374
return ctrl.Result{}, err
7475
}

controllers/redisreplication_controller.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,12 @@ func (r *RedisReplicationReconciler) Reconcile(ctx context.Context, req ctrl.Req
3939
}
4040
return ctrl.Result{}, err
4141
}
42-
42+
if instance.ObjectMeta.GetDeletionTimestamp() != nil {
43+
if err = k8sutils.HandleRedisReplicationFinalizer(r.Client, r.K8sClient, r.Log, instance); err != nil {
44+
return ctrl.Result{}, err
45+
}
46+
return ctrl.Result{}, nil
47+
}
4348
if _, found := instance.ObjectMeta.GetAnnotations()["redisreplication.opstreelabs.in/skip-reconcile"]; found {
4449
reqLogger.Info("Found annotations redisreplication.opstreelabs.in/skip-reconcile, so skipping reconcile")
4550
return ctrl.Result{RequeueAfter: time.Second * 10}, nil
@@ -49,10 +54,6 @@ func (r *RedisReplicationReconciler) Reconcile(ctx context.Context, req ctrl.Req
4954
followerReplicas := instance.Spec.GetReplicationCounts("replication") - leaderReplicas
5055
totalReplicas := leaderReplicas + followerReplicas
5156

52-
if err = k8sutils.HandleRedisReplicationFinalizer(r.Client, r.K8sClient, r.Log, instance); err != nil {
53-
return ctrl.Result{}, err
54-
}
55-
5657
if err = k8sutils.AddFinalizer(instance, k8sutils.RedisReplicationFinalizer, r.Client); err != nil {
5758
return ctrl.Result{}, err
5859
}

controllers/redissentinel_controller.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ func (r *RedisSentinelReconciler) Reconcile(ctx context.Context, req ctrl.Reques
3939
}
4040
return ctrl.Result{}, err
4141
}
42+
if instance.ObjectMeta.GetDeletionTimestamp() != nil {
43+
if err = k8sutils.HandleRedisSentinelFinalizer(r.Client, r.Log, instance); err != nil {
44+
return ctrl.Result{RequeueAfter: time.Second * 60}, err
45+
}
46+
return ctrl.Result{}, nil
47+
}
4248

4349
if _, found := instance.ObjectMeta.GetAnnotations()["redissentinel.opstreelabs.in/skip-reconcile"]; found {
4450
reqLogger.Info("Found annotations redissentinel.opstreelabs.in/skip-reconcile, so skipping reconcile")
@@ -48,10 +54,6 @@ func (r *RedisSentinelReconciler) Reconcile(ctx context.Context, req ctrl.Reques
4854
// Get total Sentinel Replicas
4955
// sentinelReplicas := instance.Spec.GetSentinelCounts("sentinel")
5056

51-
if err = k8sutils.HandleRedisSentinelFinalizer(r.Client, r.Log, instance); err != nil {
52-
return ctrl.Result{RequeueAfter: time.Second * 60}, err
53-
}
54-
5557
if err = k8sutils.AddFinalizer(instance, k8sutils.RedisSentinelFinalizer, r.Client); err != nil {
5658
return ctrl.Result{RequeueAfter: time.Second * 60}, err
5759
}

0 commit comments

Comments
 (0)