fix: policy fetcher not retry after initial failure

This commit is contained in:
Qiu Jian
2020-03-17 18:27:17 +08:00
parent ae1557626d
commit e915d7d55b
+9 -6
View File
@@ -16,6 +16,7 @@ package policy
import (
"context"
"runtime/debug"
"sort"
"strings"
"sync"
@@ -168,11 +169,6 @@ func (manager *SPolicyManager) start(refreshInterval time.Duration, retryInterva
}
manager.cache = hashcache.NewCache(2048, manager.refreshInterval/2)
err := manager.doSync()
if err != nil {
log.Errorf("doSync error %s", err)
return
}
manager.SyncOnce()
}
@@ -182,9 +178,16 @@ func (manager *SPolicyManager) SyncOnce() {
}
func (manager *SPolicyManager) doSync() error {
defer func() {
if r := recover(); r != nil {
log.Errorf("policyManager doSync error %s", r)
debug.PrintStack()
}
}()
policies, err := DefaultPolicyFetcher()
if err != nil {
// log.Errorf("sync rbac policy failed: %s", err)
log.Errorf("sync rbac policy failed: %s", err)
return errors.Wrap(err, "DefaultPolicyFetcher")
}