Gdrive: Download quota exceeded is marked as an API overload in server side copy

What is the problem you are having with rclone?

Like the title, download quota exceeded is marked as an API overload in server side copy

What is your rclone version (output from rclone version)

rclone v1.55.0

Which OS you are using and how many bits (eg Windows 7, 64 bit)

Linux, 64 bit

Which cloud storage system are you using? (eg Google Drive)

Google Drive

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone copy "from:1.mp4" "to:1.mp4" --config /root/.config/rclone/rclone.conf --retries 1 --log-file /volume1/Temp/up.log -P -vv --drive-server-side-across-configs

A log from the command with the -vv flag

2021/04/12 21:03:57 DEBUG : Using config file from "/root/.config/rclone/rclone.conf"
2021/04/12 21:03:57 DEBUG : rclone: Version "v1.55.0" starting with parameters ["rclone" "copy" "from:video.mp4" "/volume1/to/video.mp4" "--config" "/root/.config/rclone/rclone.conf" "--retries" "1" "--log-file" "/volume1/to/local.log" "-P" "-vv"]
2021/04/12 21:03:57 DEBUG : Creating backend with remote "from:video.mp4"
2021/04/12 21:04:01 DEBUG : fs cache: adding new entry for parent of "from:video.mp4", "from:"
2021/04/12 21:04:01 DEBUG : Creating backend with remote "/volume1/to/video.mp4"
2021/04/12 21:04:02 DEBUG : video.mp4: Need to transfer - File not found at Destination
2021/04/12 21:04:02 ERROR : video.mp4: Failed to copy: failed to open source object: open file failed: googleapi: Error 403: The download quota for this file has been exceeded., downloadQuotaExceeded
2021/04/12 21:04:02 ERROR : Attempt 1/1 failed with 1 errors and: failed to open source object: open file failed: googleapi: Error 403: The download quota for this file has been exceeded., downloadQuotaExceeded
2021/04/12 21:04:02 INFO  : 
Transferred:   	         0 / 0 Bytes, -, 0 Bytes/s, ETA -
Errors:                 1 (retrying may help)
Elapsed time:         5.3s

2021/04/12 21:04:02 DEBUG : 4 go routines active
2021/04/12 21:04:02 Failed to copy: failed to open source object: open file failed: googleapi: Error 403: The download quota for this file has been exceeded., downloadQuotaExceeded

(Shared drives to Local Drive(not Google Drive)

2021/04/12 21:00:15 DEBUG : Using config file from "/root/.config/rclone/rclone.conf"
2021/04/12 21:00:15 DEBUG : rclone: Version "v1.55.0" starting with parameters ["rclone" "copy" "from:video.mp4" "to:video.mp4" "--config" "/root/.config/rclone/rclone.conf" "--drive-server-side-across-configs" "--retries" "1" "--log-file" "/volume1/Temp/server.log" "-P" "-vv"]
2021/04/12 21:00:15 DEBUG : Creating backend with remote "from:video.mp4"
2021/04/12 21:00:15 DEBUG : from: detected overridden config - adding "{Db/Y9}" suffix to name
2021/04/12 21:00:19 DEBUG : fs cache: adding new entry for parent of "from:video.mp4", "from{Db/Y9}:"
2021/04/12 21:00:19 DEBUG : Creating backend with remote "to:video.mp4"
2021/04/12 21:00:19 DEBUG : to: detected overridden config - adding "{Db/Y9}" suffix to name
2021/04/12 21:00:19 DEBUG : Google drive root '': root_folder_id = "*" - save this in the config to speed up startup
2021/04/12 21:00:21 DEBUG : fs cache: renaming cache item "to:video.mp4" to be canonical "to{Db/Y9}:video.mp4"
2021/04/12 21:00:22 DEBUG : video.mp4: Need to transfer - File not found at Destination
2021/04/12 21:00:23 DEBUG : pacer: low level retry 1/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 21:00:23 DEBUG : pacer: Rate limited, increasing sleep to 1.892388149s
2021/04/12 21:00:24 DEBUG : pacer: low level retry 2/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 21:00:24 DEBUG : pacer: Rate limited, increasing sleep to 2.456196043s
2021/04/12 21:00:32 DEBUG : pacer: low level retry 3/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 21:00:32 DEBUG : pacer: Rate limited, increasing sleep to 4.535452588s
2021/04/12 21:00:32 DEBUG : pacer: low level retry 4/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 21:00:32 DEBUG : pacer: Rate limited, increasing sleep to 8.250542121s
2021/04/12 21:00:37 DEBUG : pacer: low level retry 5/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 21:00:37 DEBUG : pacer: Rate limited, increasing sleep to 16.413161501s
2021/04/12 21:00:46 DEBUG : pacer: low level retry 6/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 21:00:46 DEBUG : pacer: Rate limited, increasing sleep to 16.142532582s
2021/04/12 21:01:02 DEBUG : pacer: low level retry 7/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 21:01:02 DEBUG : pacer: Rate limited, increasing sleep to 16.857795739s
2021/04/12 21:01:18 DEBUG : pacer: low level retry 8/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 21:01:18 DEBUG : pacer: Rate limited, increasing sleep to 16.159526568s
2021/04/12 21:01:34 DEBUG : pacer: low level retry 9/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 21:01:34 DEBUG : pacer: Rate limited, increasing sleep to 16.79412968s
2021/04/12 21:01:51 DEBUG : pacer: low level retry 10/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 21:01:51 DEBUG : pacer: Rate limited, increasing sleep to 16.407006495s
2021/04/12 21:01:51 DEBUG : video.mp4: Received error: googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded - low level retry 1/10
2021/04/12 21:02:08 DEBUG : pacer: Reducing sleep to 0s

(Shared drives to My drive)

As you can see the log, In server side transfers, the download quota exceeded is marked as an API exceeded error, and the entire download becomes a bottleneck because the download is attempted continuously.

hello and welcome to the forum,

what makes you think this is a bug with rclone?

these errors come from google, rclone just reports it

It retries 10 times till it fails.

You can reduce that or you can make it a smaller value.

That's all normal stuff in the log.

Other files transfer well, so I don't think it's really an API issue.

I know about --low-level-retries. but If you put this option in, all files will not be transferred normally. (Some files are missing)

Your messages you shared means you ran out of quota.

Depending on the files, you can transfer smaller files which may have went through.

You'd have to try again once your quota resets.

I think it was because I left out the back story.
I tried to transfer from shared drives used by dozens of people to my drives, and some users' files have a limit per download quota. (Never exceeded my quota) I haven't even uploaded 100GB to my drive for a few days, and other people's files are being uploaded normally.

You hit quota for that file and it fails.

You can try without server side to see or wait till the quota resets.

I'm not asking you to make a file that isn't transferred to be sent.
As far as I know, when a download quota exceeded message appears, the file is automatically skipped. However, in server-to-server transfers, an API error appears instead of exceeding the download quota, so this file is not excluded, which slows down the overall speed.
I don't know why I get an API error instead of the download quota exceeded message, but is this an unfixable problem?

you can use a -dump flag to get a deeper look

They are both API error messages and it's dependent on what Google sends back in terms of a message.

You can lower the retries or not use server side.

2021/04/12 22:43:20 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2021/04/12 22:43:20 DEBUG : 1.mp4: Need to transfer - File not found at Destination
2021/04/12 22:43:20 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2021/04/12 22:43:20 DEBUG : HTTP REQUEST (req 0xc0009ac200)
2021/04/12 22:43:20 DEBUG : GET /drive/v3/files/*?alt=media HTTP/1.1
Host: www.googleapis.com
User-Agent: rclone/v1.55.0
Authorization: Bearer ya29.*
Accept-Encoding: gzip

2021/04/12 22:43:20 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2021/04/12 22:43:21 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2021/04/12 22:43:21 DEBUG : HTTP RESPONSE (req 0xc0009ac200)
2021/04/12 22:43:21 DEBUG : HTTP/1.1 403 Forbidden
Content-Length: 262
Alt-Svc: 
Cache-Control: private, max-age=0
Content-Type: application/json; charset=UTF-8
Date: Mon, 12 Apr 2021 13:43:21 GMT
Expires: Mon, 12 Apr 2021 13:43:21 GMT
Server: UploadServer
Vary: Origin
Vary: X-Origin
X-Guploader-Uploadid: *

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "downloadQuotaExceeded",
    "message": "The download quota for this file has been exceeded."
   }
  ],
  "code": 403,
  "message": "The download quota for this file has been exceeded."
 }
}
2021/04/12 22:43:21 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2021/04/12 22:43:21 ERROR : 1.mp4: Failed to copy: failed to open source object: open file failed: googleapi: Error 403: The download quota for this file has been exceeded., downloadQuotaExceeded
2021/04/12 22:43:21 ERROR : Attempt 1/1 failed with 1 errors and: failed to open source object: open file failed: googleapi: Error 403: The download quota for this file has been exceeded., downloadQuotaExceeded

( --drive-server-side-across-configs off)

2021/04/12 22:38:12 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2021/04/12 22:38:12 DEBUG : 1.mp4: Need to transfer - File not found at Destination
2021/04/12 22:38:12 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2021/04/12 22:38:12 DEBUG : HTTP REQUEST (req 0xc000168e00)
2021/04/12 22:38:12 DEBUG : GET /drive/v3/files?alt=json&fields=files%28id%2Cname%2Csize%2Cmd5Checksum%2Ctrashed%2CexplicitlyTrashed%2CmodifiedTime%2CcreatedTime%2CmimeType%2Cparents%2CwebViewLink%2CshortcutDetails%2CexportLinks%29%2CnextPageToken%2CincompleteSearch&includeItemsFromAllDrives=true&pageSize=1000&prettyPrint=false&q=trashed%3Dfalse+and+%28%27*%27+in+parents%29+and+%28name%3D%271.mp4%27%29&supportsAllDrives=true HTTP/1.1
Host: www.googleapis.com
User-Agent: rclone/v1.55.0
Authorization: Bearer ya29.*
X-Goog-Api-Client: gl-go/1.16.2 gdcl/20210128
Accept-Encoding: gzip

2021/04/12 22:38:12 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2021/04/12 22:38:13 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2021/04/12 22:38:13 DEBUG : HTTP RESPONSE (req 0xc000168e00)
2021/04/12 22:38:13 DEBUG : HTTP/1.1 200 OK
Transfer-Encoding: chunked
Alt-Svc: 
Content-Security-Policy: frame-ancestors 'self'
Content-Type: application/json; charset=UTF-8
Date: Mon, 12 Apr 2021 13:38:13 GMT
Expires: Mon, 01 Jan 1990 00:00:00 GMT
Pragma: no-cache
Server: GSE
Vary: Origin
Vary: X-Origin
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block

25
{"incompleteSearch":false,"files":[]}
0

2021/04/12 22:38:13 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2021/04/12 22:38:13 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2021/04/12 22:38:13 DEBUG : HTTP REQUEST (req 0xc000630200)
2021/04/12 22:38:13 DEBUG : POST /drive/v3/files/*/copy?alt=json&fields=id%2Cname%2Csize%2Cmd5Checksum%2Ctrashed%2CexplicitlyTrashed%2CmodifiedTime%2CcreatedTime%2CmimeType%2Cparents%2CwebViewLink%2CshortcutDetails%2CexportLinks&keepRevisionForever=false&prettyPrint=false&supportsAllDrives=true HTTP/1.1
Host: www.googleapis.com
User-Agent: rclone/v1.55.0
Content-Length: 103
Authorization: Bearer ya29.*
Content-Type: application/json
X-Goog-Api-Client: gl-go/1.16.2 gdcl/20210128
Accept-Encoding: gzip

{"modifiedTime":"2020-01-10T15:16:50.445000000Z","name":"1.mp4","parents":["*"]}
2021/04/12 22:38:13 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2021/04/12 22:38:14 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2021/04/12 22:38:14 DEBUG : HTTP RESPONSE (req 0xc000630200)
2021/04/12 22:38:14 DEBUG : HTTP/1.1 403 Forbidden
Transfer-Encoding: chunked
Alt-Svc:
Cache-Control: private, max-age=0
Content-Security-Policy: frame-ancestors 'self'
Content-Type: application/json; charset=UTF-8
Date: Mon, 12 Apr 2021 13:38:14 GMT
Expires: Mon, 12 Apr 2021 13:38:14 GMT
Server: GSE
Vary: Origin
Vary: X-Origin
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block

a7
{"error":{"errors":[{"domain":"usageLimits","reason":"userRateLimitExceeded","message":"User rate limit exceeded."}],"code":403,"message":"User rate limit exceeded."}}
0

2021/04/12 22:38:14 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2021/04/12 22:38:14 DEBUG : pacer: low level retry 1/10 (error googleapi: Error 403: User rate limit exceeded., userRateLimitExceeded)
2021/04/12 22:38:14 DEBUG : pacer: Rate limited, increasing sleep to 1.99617132s
2021/04/12 22:38:14 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

( --drive-server-side-across-configs on)

All up to the top of this are the same, but from this point they start to change.

Lowering retries leads to file omissions, and not using the server side is what I want to avoid in my internet environment.

That doesn't makes sense. Can you provide a log with that issue?

sorry, still not seeing where this is a rclone bug

google is replying with two different messages
and
rclone is responding with two different behaviors.

I still don't understand if rclone handles it in two, and Google answers in two, but seeing that it's not a bug, it's a limitation of server-side-copy.

Thanks for the help.

good, that we agree this is not a rclone bug as that was my goal.

i do not use gdrive so i cannot tell answer your other question; google and their many quotas is very confusing

tho a single sever to server copy should be a single api call, so not sure why rclone responds the way it does.
i would guess that userRateLimitExceeded is a generic, all purpose, response from google and rclone cannot be sure of the exact cause and defaults to low level retires.

perhaps @Animosity022 knows.

1 Like

I really thought this was a bug, but it made you annoyed.
Sorry to bother you.

really, no bother at all.

gdrive is very confusing with its quotas and responses.

My personal (free edu) gdrive has this same issue now. 12+TB of media that has the download limit exceeded error, for days. I think google may be cracking down on misuse of their gdrives.