From 1985aab89424228d814f1fbf3ca0312234b945bd Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Sat, 4 Jul 2020 10:20:48 +0800 Subject: [PATCH] fix: cloud account sync may block --- pkg/compute/models/cloudaccounts.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/compute/models/cloudaccounts.go b/pkg/compute/models/cloudaccounts.go index e9c616e699..b9b14c3720 100644 --- a/pkg/compute/models/cloudaccounts.go +++ b/pkg/compute/models/cloudaccounts.go @@ -2368,6 +2368,7 @@ func (account *SCloudaccount) SubmitSyncAccountTask(ctx context.Context, userCre if _, ok := cloudaccountPendingSyncs[account.Id]; ok { if waitChan != nil { // an active cloudaccount sync task is running, return with conflict error + log.Errorf("an active cloudaccount sync task is running, early return with conflict error") waitChan <- errors.Wrap(httperrors.ErrConflict, "cloudaccountPendingSyncs") } return @@ -2386,8 +2387,9 @@ func (account *SCloudaccount) SubmitSyncAccountTask(ctx context.Context, userCre if waitChan != nil { if err != nil { account.markEndSync(userCred) + err = errors.Wrap(err, "account.syncAccountStatus") } - waitChan <- errors.Wrap(err, "account.syncAccountStatus") + waitChan <- err } else { syncCnt := 0 if err == nil && autoSync && account.GetEnabled() && account.EnableAutoSync {