mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Merge pull request #101475 from ash2k/ash2k/stop-timer
Stop timer and correctly drain it
This commit is contained in:
commit
a7af9f6e0e
@ -491,14 +491,14 @@ func (c *csiAttacher) waitForVolumeAttachDetachStatusWithLister(volumeHandle, at
|
||||
clock = &clock.RealClock{}
|
||||
)
|
||||
backoffMgr := wait.NewExponentialBackoffManager(initBackoff, maxBackoff, resetDuration, backoffFactor, jitter, clock)
|
||||
defer backoffMgr.Backoff().Stop()
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), timeout)
|
||||
defer cancel()
|
||||
|
||||
for {
|
||||
t := backoffMgr.Backoff()
|
||||
select {
|
||||
case <-backoffMgr.Backoff().C():
|
||||
case <-t.C():
|
||||
successful, err := verifyStatus()
|
||||
if err != nil {
|
||||
return err
|
||||
@ -507,6 +507,7 @@ func (c *csiAttacher) waitForVolumeAttachDetachStatusWithLister(volumeHandle, at
|
||||
return nil
|
||||
}
|
||||
case <-ctx.Done():
|
||||
t.Stop()
|
||||
klog.Error(log("%s timeout after %v [volume=%v; attachment.ID=%v]", operation, timeout, volumeHandle, attachID))
|
||||
return fmt.Errorf("%s timeout for volume %v", operation, volumeHandle)
|
||||
}
|
||||
|
@ -166,6 +166,9 @@ func BackoffUntil(f func(), backoff BackoffManager, sliding bool, stopCh <-chan
|
||||
// of every loop to prevent extra executions of f().
|
||||
select {
|
||||
case <-stopCh:
|
||||
if !t.Stop() {
|
||||
<-t.C()
|
||||
}
|
||||
return
|
||||
case <-t.C():
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user