rabbah commented on a change in pull request #46: Add retry support to every request URL: https://github.com/apache/incubator-openwhisk-client-go/pull/46#discussion_r154176550
########## File path: whisk/client.go ########## @@ -316,98 +319,118 @@ func BodyTruncator(body io.ReadCloser) (string, io.ReadCloser, error) { return string(data), reload, nil } +func retry(attempts int, sleep time.Duration, callback func() (*http.Response, error)) (*http.Response, error) { + var err error + var resp *http.Response + for i := 0; ; i++ { + resp, err = callback() Review comment: 153 is 409 % 256 which is the wrapping the client does to report the status code on the terminal. a blind retry on conflict just doesn't make sense to me: what does it mean for example to retry rule enable/disable if the concurrent operation deleted the rule, for example. in other words, the retry has to be test specific, not in the client. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services