X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f9577d8ec75fdf861c7dd69ed8cbbc6c3f445669..19ae770973482257117fe8ded5619c3018c4b60f:/sdk/go/arvadosclient/arvadosclient.go diff --git a/sdk/go/arvadosclient/arvadosclient.go b/sdk/go/arvadosclient/arvadosclient.go index 2b6a36abec..b67eaa59a6 100644 --- a/sdk/go/arvadosclient/arvadosclient.go +++ b/sdk/go/arvadosclient/arvadosclient.go @@ -165,13 +165,13 @@ func (c ArvadosClient) CallRaw(method string, resourceType string, uuid string, retryable := false switch method { - case "GET", "HEAD", "PUT", "OPTIONS", "POST", "DELETE": + case "GET", "HEAD", "PUT", "OPTIONS", "DELETE": retryable = true } - // POST and DELETE are not safe to retry automatically, so we minimize - // such failures by always using a new or recently active socket - if method == "POST" || method == "DELETE" { + // Non-retryable methods such as POST are not safe to retry automatically, + // so we minimize such failures by always using a new or recently active socket + if !retryable { if time.Since(c.lastClosedIdlesAt) > MaxIdleConnectionDuration { c.lastClosedIdlesAt = time.Now() c.Client.Transport.(*http.Transport).CloseIdleConnections()