mirror of
https://github.com/rclone/rclone
synced 2024-11-26 04:07:22 +01:00
drive: Make --drive-stop-on-upload-limit to respond to storageQuotaExceeded
Before this change, if a "--drive-stop-on-upload-limit" was set, rclone would not stop the upload if a "storageQuotaExceeded" error occurred. This fix now checks for the "storageQuotaExceeded" error and "--drive-stop-on-upload-limit", and fails fast.
This commit is contained in:
parent
13c3f67ab0
commit
1155cc0d3f
@ -761,7 +761,7 @@ func (f *Fs) shouldRetry(ctx context.Context, err error) (bool, error) {
|
|||||||
} else if f.opt.StopOnDownloadLimit && reason == "downloadQuotaExceeded" {
|
} else if f.opt.StopOnDownloadLimit && reason == "downloadQuotaExceeded" {
|
||||||
fs.Errorf(f, "Received download limit error: %v", err)
|
fs.Errorf(f, "Received download limit error: %v", err)
|
||||||
return false, fserrors.FatalError(err)
|
return false, fserrors.FatalError(err)
|
||||||
} else if f.opt.StopOnUploadLimit && reason == "quotaExceeded" {
|
} else if f.opt.StopOnUploadLimit && (reason == "quotaExceeded" || reason == "storageQuotaExceeded") {
|
||||||
fs.Errorf(f, "Received upload limit error: %v", err)
|
fs.Errorf(f, "Received upload limit error: %v", err)
|
||||||
return false, fserrors.FatalError(err)
|
return false, fserrors.FatalError(err)
|
||||||
} else if f.opt.StopOnUploadLimit && reason == "teamDriveFileLimitExceeded" {
|
} else if f.opt.StopOnUploadLimit && reason == "teamDriveFileLimitExceeded" {
|
||||||
|
@ -243,6 +243,15 @@ func (f *Fs) InternalTestShouldRetry(t *testing.T) {
|
|||||||
quotaExceededRetry, quotaExceededError := f.shouldRetry(ctx, &generic403)
|
quotaExceededRetry, quotaExceededError := f.shouldRetry(ctx, &generic403)
|
||||||
assert.False(t, quotaExceededRetry)
|
assert.False(t, quotaExceededRetry)
|
||||||
assert.Equal(t, quotaExceededError, expectedQuotaError)
|
assert.Equal(t, quotaExceededError, expectedQuotaError)
|
||||||
|
|
||||||
|
sqEItem := googleapi.ErrorItem{
|
||||||
|
Reason: "storageQuotaExceeded",
|
||||||
|
}
|
||||||
|
generic403.Errors[0] = sqEItem
|
||||||
|
expectedStorageQuotaError := fserrors.FatalError(&generic403)
|
||||||
|
storageQuotaExceededRetry, storageQuotaExceededError := f.shouldRetry(ctx, &generic403)
|
||||||
|
assert.False(t, storageQuotaExceededRetry)
|
||||||
|
assert.Equal(t, storageQuotaExceededError, expectedStorageQuotaError)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Fs) InternalTestDocumentImport(t *testing.T) {
|
func (f *Fs) InternalTestDocumentImport(t *testing.T) {
|
||||||
|
Loading…
Reference in New Issue
Block a user