From 29bbd49a1c84761a75690f7748c780837bf43c26 Mon Sep 17 00:00:00 2001 From: Gilbert Chen Date: Tue, 21 Nov 2017 22:21:18 -0500 Subject: [PATCH] Retry on any error in the hubic backend --- src/duplicacy_hubicclient.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/duplicacy_hubicclient.go b/src/duplicacy_hubicclient.go index bf33918..73f2596 100644 --- a/src/duplicacy_hubicclient.go +++ b/src/duplicacy_hubicclient.go @@ -151,6 +151,13 @@ func (client *HubicClient) call(url string, method string, input interface{}, ex response, err = client.HTTPClient.Do(request) if err != nil { + if url != HubicCredentialURL { + retryAfter := time.Duration(rand.Float32() * 1000.0 * float32(backoff)) + LOG_INFO("HUBIC_CALL", "%s %s returned an error: %v; retry after %d milliseconds", method, url, err, retryAfter) + time.Sleep(retryAfter * time.Millisecond) + backoff *= 2 + continue + } return nil, 0, "", err }