mirror of
https://github.com/rclone/rclone.git
synced 2024-12-23 15:38:57 +01:00
onedrive: Work around for random "Unable to initialize RPS" errors
OneDrive randomly returns the error message: "InvalidAuthenticationToken: Unable to initialize RPS". These unexpected errors typically caused the entire rclone command to fail. This work around recognizes these errors and marks them for a low level retry, that mostly succeeds. This will make rclone commands complete without being noticeable affected. Fixes: #5270
This commit is contained in:
parent
ee502a757f
commit
89daa9efd1
@ -566,6 +566,9 @@ func shouldRetry(ctx context.Context, resp *http.Response, err error) (bool, err
|
|||||||
if len(resp.Header["Www-Authenticate"]) == 1 && strings.Index(resp.Header["Www-Authenticate"][0], "expired_token") >= 0 {
|
if len(resp.Header["Www-Authenticate"]) == 1 && strings.Index(resp.Header["Www-Authenticate"][0], "expired_token") >= 0 {
|
||||||
retry = true
|
retry = true
|
||||||
fs.Debugf(nil, "Should retry: %v", err)
|
fs.Debugf(nil, "Should retry: %v", err)
|
||||||
|
} else if err != nil && strings.Contains(err.Error(), "Unable to initialize RPS") {
|
||||||
|
retry = true
|
||||||
|
fs.Debugf(nil, "HTTP 401: Unable to initialize RPS. Trying again.")
|
||||||
}
|
}
|
||||||
case 429: // Too Many Requests.
|
case 429: // Too Many Requests.
|
||||||
// see https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online
|
// see https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online
|
||||||
|
Loading…
Reference in New Issue
Block a user