Merge pull request #127023 from aimuz/fix-lead

leaderelection: replace deprecated wait.PollImmediateUntil with wait.PollUntilContextTimeout
This commit is contained in:
Kubernetes Prow Robot 2024-08-30 22:18:44 +01:00 committed by GitHub
commit 4cfdad0935
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -277,16 +277,13 @@ func (le *LeaderElector) renew(ctx context.Context) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(ctx)
defer cancel() defer cancel()
wait.Until(func() { wait.Until(func() {
timeoutCtx, timeoutCancel := context.WithTimeout(ctx, le.config.RenewDeadline) err := wait.PollUntilContextTimeout(ctx, le.config.RetryPeriod, le.config.RenewDeadline, true, func(ctx context.Context) (done bool, err error) {
defer timeoutCancel()
err := wait.PollImmediateUntil(le.config.RetryPeriod, func() (bool, error) {
if !le.config.Coordinated { if !le.config.Coordinated {
return le.tryAcquireOrRenew(timeoutCtx), nil return le.tryAcquireOrRenew(ctx), nil
} else { } else {
return le.tryCoordinatedRenew(timeoutCtx), nil return le.tryCoordinatedRenew(ctx), nil
} }
}, timeoutCtx.Done()) })
le.maybeReportTransition() le.maybeReportTransition()
desc := le.config.Lock.Describe() desc := le.config.Lock.Describe()
if err == nil { if err == nil {