From f9f9d5029b2f37f109454f2ab6533157669f466f Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Tue, 8 Oct 2019 15:34:08 +0100 Subject: [PATCH] fserror: make http2 "stream error:" a retriable error It was reported that v1.49.4 which was accidentally compiled with go1.13 instead of go1.12 produced errors like this: Failed to get StartPageToken: Get https://www.googleapis.com/drive/v3/changes/startPageToken?XXX: stream error: stream ID 1789; INTERNAL_ERROR IO error: open file failed: Get https://www.googleapis.com/drive/v3/files/XXX?alt=media: stream error: stream ID 1781; INTERNAL_ERROR These are errors from the http2 library. It appears that go1.13 when communicating with google drive defaults to http2 whereas with go1.12 it doesn't. It is unclear what is causing these errors, but retrying them since they don't happen very often seems like a valid strategy. This was fixed in v1.49.5 by compiling with go1.12 - this fix is designed to work with go1.13 See: https://forum.rclone.org/t/1-49-4-plex-internal-errors-on-google-drive/12108/ --- fs/fserrors/error.go | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/fserrors/error.go b/fs/fserrors/error.go index aef83fe35..92e328101 100644 --- a/fs/fserrors/error.go +++ b/fs/fserrors/error.go @@ -267,6 +267,7 @@ var retriableErrorStrings = []string{ "http: ContentLength=", // net/http/transfer.go "server closed idle connection", // net/http/transport.go "bad record MAC", // crypto/tls/alert.go + "stream error:", // src/net/http/h2_bundle.go } // Errors which indicate networking errors which should be retried