upload_system_symbols: Don't retry if file already exists on the server

Bug: 1400770
Change-Id: I4c9c683c91848f7eb404ff3c86187dfa63d06e37
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/4117730
Reviewed-by: Robert Sesek <rsesek@chromium.org>
This commit is contained in:
Leonard Grey 2022-12-21 09:12:13 -05:00
parent 79326ebe94
commit d91b6cb75a

View file

@ -229,6 +229,11 @@ func (uq *UploadQueue) worker() {
// Success. No retry needed. // Success. No retry needed.
fmt.Printf("Uploaded %s to %s\n", symfile, server) fmt.Printf("Uploaded %s to %s\n", symfile, server)
break break
} else if exitError, ok := err.(*exec.ExitError); ok && exitError.ExitCode() == 2 && *apiKey != "" {
// Exit code 2 in protocol v2 means the file already exists on the server.
// No point retrying.
fmt.Printf("File %s already exists on %s\n", symfile, server)
break
} else { } else {
log.Printf("Error running symupload(%s, %s), attempt %d: %v: %s\n", symfile, server, i, err, output) log.Printf("Error running symupload(%s, %s), attempt %d: %v: %s\n", symfile, server, i, err, output)
time.Sleep(1 * time.Second) time.Sleep(1 * time.Second)