From aa7197c53ae03077e7f2d0644a26566c1973e09e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Fri, 18 Oct 2024 16:08:07 +0800 Subject: [PATCH] Revert "fix(region): account probe lock" (#21426) This reverts commit 7f90d38e5f974ec80fc0b9fda55cbe56cebd0c1f. --- pkg/compute/models/cloudaccounts.go | 19 ++++++++----------- pkg/compute/options/options.go | 2 +- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/pkg/compute/models/cloudaccounts.go b/pkg/compute/models/cloudaccounts.go index 1f2be874d3..97eba7e28a 100644 --- a/pkg/compute/models/cloudaccounts.go +++ b/pkg/compute/models/cloudaccounts.go @@ -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) { diff --git a/pkg/compute/options/options.go b/pkg/compute/options/options.go index 83e25f8568..0ac27eecde 100644 --- a/pkg/compute/options/options.go +++ b/pkg/compute/options/options.go @@ -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"`