Skip to content

Commit 58e86ad

Browse files
committed
Simplify loadOverridesWithRetry
1 parent 603a08f commit 58e86ad

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

ratelimits/limit.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -384,20 +384,21 @@ func (l *limitRegistry) loadOverrides(ctx context.Context) error {
384384
}
385385

386386
// loadOverridesWithRetry tries to loadOverrides, retrying at least every 30
387-
// seconds upon failure, up to a maximum elapsed time interval.
388-
func (l *limitRegistry) loadOverridesWithRetry(ctx context.Context, interval time.Duration) error {
387+
// seconds upon failure.
388+
func (l *limitRegistry) loadOverridesWithRetry(ctx context.Context) error {
389389
retries := 0
390-
started := time.Now()
391390
for {
392391
err := l.loadOverrides(ctx)
393-
if err != nil {
394-
l.logger.Errf("loading overrides: %v", err)
392+
if err == nil {
393+
return nil
395394
}
396-
if err == nil || time.Since(started) > interval {
395+
l.logger.Errf("loading overrides: %v", err)
396+
retries++
397+
select {
398+
case <-time.After(core.RetryBackoff(retries, time.Second/6, time.Second*15, 2)):
399+
case <-ctx.Done():
397400
return err
398401
}
399-
retries++
400-
time.Sleep(core.RetryBackoff(retries, time.Second/6, time.Second*15, 2))
401402
}
402403
}
403404

@@ -407,7 +408,7 @@ func (l *limitRegistry) NewRefresher(interval time.Duration) context.CancelFunc
407408
ctx, cancel := context.WithCancel(context.Background())
408409

409410
go func() {
410-
err := l.loadOverridesWithRetry(ctx, interval)
411+
err := l.loadOverridesWithRetry(ctx)
411412
if err != nil {
412413
l.logger.Errf("loading overrides (initial): %v", err)
413414
}
@@ -417,7 +418,7 @@ func (l *limitRegistry) NewRefresher(interval time.Duration) context.CancelFunc
417418
for {
418419
select {
419420
case <-ticker.C:
420-
err := l.loadOverridesWithRetry(ctx, interval)
421+
err := l.loadOverridesWithRetry(ctx)
421422
if err != nil {
422423
l.logger.Errf("loading overrides (refresh): %v", err)
423424
}

0 commit comments

Comments
 (0)