Skip to content

Commit f2084cd

Browse files
committed
Non-default Client for read requests(Get List) from the API server instead of the cache
1 parent 236f871 commit f2084cd

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

pkg/controller/distributedrediscluster/sync_handler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ func (r *ReconcileDistributedRedisCluster) sync(ctx *syncContext) error {
350350
if err := clustering.RebalancedCluster(admin, newMasters); err != nil {
351351
return Cluster.Wrap(err, "RebalancedCluster")
352352
}
353-
} else if len(newMasters) == len(curMasters) {
353+
} else if cluster.Status.MinReplicationFactor < cluster.Spec.ClusterReplicas {
354354
newRedisSlavesByMaster, bestEffort := clustering.PlaceSlaves(rCluster, newMasters, currentSlaveNodes, newSlave, cReplicaFactor)
355355
if bestEffort {
356356
rCluster.NodesPlacement = redisv1alpha1.NodesPlacementInfoBestEffort

pkg/controller/redisclusterbackup/helper.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55

66
corev1 "k8s.io/api/core/v1"
77
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
8+
"k8s.io/client-go/rest"
89
"sigs.k8s.io/controller-runtime/pkg/client"
910

1011
redisv1alpha1 "github.com/ucloud/redis-cluster-operator/pkg/apis/redis/v1alpha1"
@@ -91,3 +92,11 @@ func redisPassword(cluster *redisv1alpha1.DistributedRedisCluster) corev1.EnvVar
9192
},
9293
}
9394
}
95+
96+
func newDirectClient(config *rest.Config) client.Client {
97+
c, err := client.New(config, client.Options{})
98+
if err != nil {
99+
panic(err)
100+
}
101+
return c
102+
}

pkg/controller/redisclusterbackup/redisclusterbackup_controller.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ func Add(mgr manager.Manager) error {
4242
func newReconciler(mgr manager.Manager) reconcile.Reconciler {
4343
r := &ReconcileRedisClusterBackup{client: mgr.GetClient(), scheme: mgr.GetScheme()}
4444
r.crController = k8sutil.NewCRControl(r.client)
45-
r.jobController = k8sutil.NewJobController(r.client)
45+
r.directClient = newDirectClient(mgr.GetConfig())
46+
r.jobController = k8sutil.NewJobController(r.directClient)
4647
r.recorder = mgr.GetEventRecorderFor("redis-cluster-operator-backup")
4748
return r
4849
}
@@ -109,9 +110,10 @@ var _ reconcile.Reconciler = &ReconcileRedisClusterBackup{}
109110
type ReconcileRedisClusterBackup struct {
110111
// This client, initialized using mgr.Client() above, is a split client
111112
// that reads objects from the cache and writes to the apiserver
112-
client client.Client
113-
scheme *runtime.Scheme
114-
recorder record.EventRecorder
113+
client client.Client
114+
directClient client.Client
115+
scheme *runtime.Scheme
116+
recorder record.EventRecorder
115117

116118
crController k8sutil.ICustomResource
117119
jobController k8sutil.IJobControl

pkg/controller/redisclusterbackup/sync_handler.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ func (r *ReconcileRedisClusterBackup) create(reqLogger logr.Logger, backup *redi
180180
return err
181181
}
182182

183-
reqLogger.V(4).Info("Backup running")
183+
reqLogger.Info("Backup running")
184184
r.recorder.Event(
185185
backup,
186186
corev1.EventTypeNormal,
@@ -502,6 +502,7 @@ func (r *ReconcileRedisClusterBackup) handleBackupJob(reqLogger logr.Logger, bac
502502

503503
if jobSucceeded {
504504
msg := "Successfully completed backup"
505+
reqLogger.Info(msg)
505506
r.recorder.Event(
506507
backup,
507508
corev1.EventTypeNormal,
@@ -516,6 +517,7 @@ func (r *ReconcileRedisClusterBackup) handleBackupJob(reqLogger logr.Logger, bac
516517
)
517518
} else {
518519
msg := "Failed to complete backup"
520+
reqLogger.Info(msg)
519521
r.recorder.Event(
520522
backup,
521523
corev1.EventTypeWarning,

0 commit comments

Comments
 (0)