mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
Fix deadlock in watch cache
This commit is contained in:
parent
2e7993e057
commit
d3639aff73
@ -220,13 +220,13 @@ func (w *watchCache) WaitUntilFreshAndList(resourceVersion uint64) ([]interface{
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
w.RLock()
|
w.RLock()
|
||||||
|
defer w.RUnlock()
|
||||||
for w.resourceVersion < resourceVersion {
|
for w.resourceVersion < resourceVersion {
|
||||||
if w.clock.Since(startTime) >= MaximumListWait {
|
if w.clock.Since(startTime) >= MaximumListWait {
|
||||||
return nil, 0, fmt.Errorf("time limit exceeded while waiting for resource version %v (current value: %v)", resourceVersion, w.resourceVersion)
|
return nil, 0, fmt.Errorf("time limit exceeded while waiting for resource version %v (current value: %v)", resourceVersion, w.resourceVersion)
|
||||||
}
|
}
|
||||||
w.cond.Wait()
|
w.cond.Wait()
|
||||||
}
|
}
|
||||||
defer w.RUnlock()
|
|
||||||
return w.store.List(), w.resourceVersion, nil
|
return w.store.List(), w.resourceVersion, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user