Skip to content

Commit f4cf6ef

Browse files
authored
Merge pull request #7 from ucloud/fixed/check_sentinel
Fixed/check sentinel
2 parents 6800845 + 9d3706a commit f4cf6ef

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

pkg/client/redis/client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ const (
4848
masterName = "mymaster"
4949

5050
defaultDownAfterMilliseconds = "5000"
51-
defaultFailovertimeout = "6000"
51+
defaultFailovertimeout = "3000"
5252
defaultParallelSyncs = "2"
5353
)
5454

pkg/controller/rediscluster/checker.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -100,28 +100,28 @@ func (r *RedisClusterHandler) CheckAndHeal(meta *clustercache.Meta) error {
100100
}
101101
}
102102
}
103-
// TODO: check sentinel's number
104-
//for _, sip := range sentinels {
105-
// if err := r.rcChecker.CheckSentinelNumberInMemory(sip, meta.Obj, meta.Auth); err != nil {
106-
// r.logger.WithValues("namespace", meta.Obj.Namespace, "name", meta.Obj.Name).Info(err.Error())
107-
// if err := r.rcHealer.RestoreSentinel(sip, meta.Auth); err != nil {
108-
// return err
109-
// }
110-
// return needRequeueErr
111-
// }
112-
//}
113103
for _, sip := range sentinels {
114104
if err := r.rcChecker.CheckSentinelSlavesNumberInMemory(sip, meta.Obj, meta.Auth); err != nil {
115-
r.logger.WithValues("namespace", meta.Obj.Namespace, "name", meta.Obj.Name).Info(err.Error())
105+
r.logger.WithValues("namespace", meta.Obj.Namespace, "name", meta.Obj.Name).
106+
Info("restoring sentinel ...", "sentinel", sip, "reason", err.Error())
116107
if err := r.rcHealer.RestoreSentinel(sip, meta.Auth); err != nil {
117108
return err
118109
}
119-
if err := r.waitRestoreSentinelOK(sip, meta.Obj, meta.Auth); err != nil {
110+
if err := r.waitRestoreSentinelSlavesOK(sip, meta.Obj, meta.Auth); err != nil {
120111
r.logger.WithValues("namespace", meta.Obj.Namespace, "name", meta.Obj.Name).Info(err.Error())
121112
return err
122113
}
123114
}
124115
}
116+
for _, sip := range sentinels {
117+
if err := r.rcChecker.CheckSentinelNumberInMemory(sip, meta.Obj, meta.Auth); err != nil {
118+
r.logger.WithValues("namespace", meta.Obj.Namespace, "name", meta.Obj.Name).
119+
Info("restoring sentinel ...", "sentinel", sip, "reason", err.Error())
120+
if err := r.rcHealer.RestoreSentinel(sip, meta.Auth); err != nil {
121+
return err
122+
}
123+
}
124+
}
125125

126126
if err = r.setSentinelConfig(meta, sentinels); err != nil {
127127
return err
@@ -161,13 +161,13 @@ func (r *RedisClusterHandler) setSentinelConfig(meta *clustercache.Meta, sentine
161161
return nil
162162
}
163163

164-
func (r *RedisClusterHandler) waitRestoreSentinelOK(sentinel string, rc *redisv1beta1.RedisCluster, auth *util.AuthConfig) error {
164+
func (r *RedisClusterHandler) waitRestoreSentinelSlavesOK(sentinel string, rc *redisv1beta1.RedisCluster, auth *util.AuthConfig) error {
165165
timer := time.NewTimer(timeOut)
166166
defer timer.Stop()
167167
for {
168168
select {
169169
case <-timer.C:
170-
return fmt.Errorf("wait for resetore sentinel timeout")
170+
return fmt.Errorf("wait for resetore sentinel slave timeout")
171171
default:
172172
if err := r.rcChecker.CheckSentinelSlavesNumberInMemory(sentinel, rc, auth); err != nil {
173173
r.logger.WithValues("namespace", rc.Namespace, "name", rc.Name).Info(err.Error())

pkg/controller/rediscluster/controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,8 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error {
105105
log.WithValues("namespace", e.MetaNew.GetNamespace(), "name", e.MetaNew.GetName()).V(5).Info("Call UpdateFunc")
106106
// Ignore updates to CR status in which case metadata.Generation does not change
107107
if e.MetaOld.GetGeneration() != e.MetaNew.GetGeneration() {
108-
log.WithValues("namespace", e.MetaNew.GetNamespace(), "name", e.MetaNew.GetName()).Info("Generation change return true")
108+
log.WithValues("namespace", e.MetaNew.GetNamespace(), "name", e.MetaNew.GetName()).
109+
Info("Generation change return true", "old", e.ObjectOld, "new", e.ObjectNew)
109110
return true
110111
}
111112
return false

0 commit comments

Comments
 (0)