Revert "fix(region): account probe lock" (#21426)

This reverts commit 7f90d38e5f.
This commit is contained in:
屈轩
2024-10-18 16:08:07 +08:00
committed by GitHub
parent 87b710ef58
commit aa7197c53a
2 changed files with 9 additions and 12 deletions
+8 -11
View File
@@ -2282,18 +2282,18 @@ func (manager *SCloudaccountManager) AutoSyncCloudaccountStatusTask(ctx context.
for i := range accounts {
if accounts[i].GetEnabled() && accounts[i].shouldProbeStatus() && accounts[i].CanSync() {
id, name, account := accounts[i].Id, accounts[i].Name, &accounts[i]
cloudaccountProbeMutex.Lock()
if _, ok := cloudaccountProbe[id]; ok {
cloudaccountProbeMutex.Unlock()
cloudaccountPendingSyncsMutex.Lock()
if _, ok := cloudaccountPendingSyncs[id]; ok {
cloudaccountPendingSyncsMutex.Unlock()
continue
}
cloudaccountProbe[id] = struct{}{}
cloudaccountProbeMutex.Unlock()
cloudaccountPendingSyncs[id] = struct{}{}
cloudaccountPendingSyncsMutex.Unlock()
RunSyncCloudAccountTask(ctx, func() {
defer func() {
cloudaccountProbeMutex.Lock()
defer cloudaccountProbeMutex.Unlock()
delete(cloudaccountProbe, id)
cloudaccountPendingSyncsMutex.Lock()
defer cloudaccountPendingSyncsMutex.Unlock()
delete(cloudaccountPendingSyncs, id)
}()
log.Debugf("syncAccountStatus %s %s", id, name)
idctx := context.WithValue(ctx, "id", id)
@@ -2477,9 +2477,6 @@ func (account *SCloudaccount) syncAccountStatus(ctx context.Context, userCred mc
var (
cloudaccountPendingSyncs = map[string]struct{}{}
cloudaccountPendingSyncsMutex = &sync.Mutex{}
cloudaccountProbe = map[string]struct{}{}
cloudaccountProbeMutex = &sync.Mutex{}
)
func (account *SCloudaccount) SubmitSyncAccountTask(ctx context.Context, userCred mcclient.TokenCredential, waitChan chan error) {
+1 -1
View File
@@ -142,7 +142,7 @@ type ComputeOptions struct {
CloudSyncWorkerCount int `help:"how many current synchronization threads" default:"5"`
CloudProviderSyncWorkerCount int `help:"how many current providers synchronize their regions, practically no limit" default:"10"`
CloudAutoSyncIntervalSeconds int `help:"frequency to check auto sync tasks" default:"30"`
CloudAutoSyncIntervalSeconds int `help:"frequency to check auto sync tasks" default:"300"`
DefaultSyncIntervalSeconds int `help:"minimal synchronization interval, default 15 minutes" default:"900"`
MaxCloudAccountErrorCount int `help:"maximal consecutive error count allow for a cloud account" default:"5"`