Added retry on HTTP 503 response
Based on https://cloud.google.com/apis/design/errors#retrying_errors,
HTTP 503 is a temporary error that should be retried with exponential
backoff. The script currently only looks for 500 and 502 errors.
Bug: 96020
Change-Id: I07b30062779ffcd66ed365b02f70b2f85a8d2154
Reviewed-on: https://fuchsia-review.googlesource.com/c/tools/+/660747
Reviewed-by: Oliver Newman <olivernewman@google.com>
Commit-Queue: David Song <wintermelons@google.com>
diff --git a/debugsyms/cmd/bucket.go b/debugsyms/cmd/bucket.go
index 658473d..27e1559 100644
--- a/debugsyms/cmd/bucket.go
+++ b/debugsyms/cmd/bucket.go
@@ -54,7 +54,7 @@
if _, err := io.Copy(wc, r); err != nil {
wc.Close()
errorMsg := fmt.Sprintf("failed to write object %q: %v", object, err)
- for _, errCode := range []string{"500", "502"} {
+ for _, errCode := range []string{"500", "502", "503"} {
if strings.Contains(err.Error(), errCode) {
return errors.New(errorMsg, transient.Tag)
}