Avoid deadlock in gc resync if available resources change during sync

This commit is contained in:
Jordan Liggitt
2018-06-01 18:47:00 -04:00
parent 268dc570e7
commit 7da3d65571
3 changed files with 129 additions and 35 deletions

View File

@@ -288,11 +288,13 @@ func (gb *GraphBuilder) IsSynced() bool {
defer gb.monitorLock.Unlock()
if len(gb.monitors) == 0 {
glog.V(4).Info("garbage controller monitor not synced: no monitors")
return false
}
for _, monitor := range gb.monitors {
for resource, monitor := range gb.monitors {
if !monitor.controller.HasSynced() {
glog.V(4).Infof("garbage controller monitor not yet synced: %+v", resource)
return false
}
}