We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 113a528 commit 78e519eCopy full SHA for 78e519e
1 file changed
server/datasource/etcd/kv/kv_cache.go
@@ -86,16 +86,25 @@ type CacheSearchReq struct {
86
func (kc *Cache) Refresh(ctx context.Context) {
87
openlog.Info("start to list and watch")
88
retries := 0
89
- timer := time.NewTimer(backoff.GetBackoff().Delay(retries))
+
90
+ timer := time.NewTimer(backOffMinInterval)
91
defer timer.Stop()
92
for {
93
+ nextPeriod := backOffMinInterval
94
if err := kc.listWatch(ctx); err != nil {
95
retries++
96
+ nextPeriod = backoff.GetBackoff().Delay(retries)
97
} else {
98
retries = 0
99
}
- <-timer.C
- timer.Reset(backoff.GetBackoff().Delay(retries))
100
101
+ select {
102
+ case <-ctx.Done():
103
+ openlog.Info("stop to list and watch")
104
+ return
105
+ case <-timer.C:
106
+ timer.Reset(nextPeriod)
107
+ }
108
109
110
0 commit comments