@@ -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 ())
0 commit comments