mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-21 06:09:39 +08:00
Merge pull request #5324 from swordqiu/hotfix/qj-clean-upload-object-region-quota
fix: clean up pending usage no matter whether object upload is success
This commit is contained in:
@@ -939,6 +939,9 @@ func (bucket *SBucket) PerformUpload(
|
||||
if err := quotas.CheckSetPendingQuota(ctx, userCred, &pendingUsage); err != nil {
|
||||
return nil, httperrors.NewOutOfQuotaError("%s", err)
|
||||
}
|
||||
|
||||
// always cancel pending usage
|
||||
defer quotas.CancelPendingUsage(ctx, userCred, &pendingUsage, &pendingUsage)
|
||||
}
|
||||
|
||||
err = cloudprovider.UploadObject(ctx, iBucket, key, 0, appParams.Request.Body, sizeBytes, cloudprovider.TBucketACLType(aclStr), storageClass, meta, false)
|
||||
@@ -951,10 +954,6 @@ func (bucket *SBucket) PerformUpload(
|
||||
|
||||
bucket.syncWithCloudBucket(ctx, userCred, iBucket, nil, true)
|
||||
|
||||
if !pendingUsage.IsEmpty() {
|
||||
quotas.CancelPendingUsage(ctx, userCred, &pendingUsage, &pendingUsage)
|
||||
}
|
||||
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user