Skip to content

Commit

Permalink
rpcclient: save the last error when retrying
Browse files Browse the repository at this point in the history
  • Loading branch information
bhandras authored and losh11 committed Mar 29, 2023
1 parent ce85cfd commit 1ea035d
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion rpcclient/infrastructure.go
Original file line number Diff line number Diff line change
Expand Up @@ -771,7 +771,7 @@ func (c *Client) handleSendPostMessage(jReq *jsonRequest,
url := protocol + "://" + c.config.Host

var (
err error
err, lastErr error
backoff time.Duration
httpResponse *http.Response
)
Expand Down Expand Up @@ -807,6 +807,12 @@ func (c *Client) handleSendPostMessage(jReq *jsonRequest,
break
}

// Save the last error for the case where we backoff further,
// retry and get an invalid response but no error. If this
// happens the saved last error will be used to enrich the error
// message that we pass back to the caller.
lastErr = err

// Backoff sleep otherwise.
backoff = requestRetryInterval * time.Duration(i+1)
if backoff > time.Minute {
Expand Down

0 comments on commit 1ea035d

Please sign in to comment.