@@ -100,28 +100,28 @@ func (r *RedisClusterHandler) CheckAndHeal(meta *clustercache.Meta) error {
100
100
}
101
101
}
102
102
}
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
- //}
113
103
for _ , sip := range sentinels {
114
104
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 ())
116
107
if err := r .rcHealer .RestoreSentinel (sip , meta .Auth ); err != nil {
117
108
return err
118
109
}
119
- if err := r .waitRestoreSentinelOK (sip , meta .Obj , meta .Auth ); err != nil {
110
+ if err := r .waitRestoreSentinelSlavesOK (sip , meta .Obj , meta .Auth ); err != nil {
120
111
r .logger .WithValues ("namespace" , meta .Obj .Namespace , "name" , meta .Obj .Name ).Info (err .Error ())
121
112
return err
122
113
}
123
114
}
124
115
}
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
+ }
125
125
126
126
if err = r .setSentinelConfig (meta , sentinels ); err != nil {
127
127
return err
@@ -161,13 +161,13 @@ func (r *RedisClusterHandler) setSentinelConfig(meta *clustercache.Meta, sentine
161
161
return nil
162
162
}
163
163
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 {
165
165
timer := time .NewTimer (timeOut )
166
166
defer timer .Stop ()
167
167
for {
168
168
select {
169
169
case <- timer .C :
170
- return fmt .Errorf ("wait for resetore sentinel timeout" )
170
+ return fmt .Errorf ("wait for resetore sentinel slave timeout" )
171
171
default :
172
172
if err := r .rcChecker .CheckSentinelSlavesNumberInMemory (sentinel , rc , auth ); err != nil {
173
173
r .logger .WithValues ("namespace" , rc .Namespace , "name" , rc .Name ).Info (err .Error ())
0 commit comments