aboutsummaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2024-03-14 14:06:51 +0100
committerGitHub <noreply@github.com>2024-03-14 14:06:51 +0100
commiteae18fe7f97f663ee5b0abe9d02af72caef6ba26 (patch)
treeffbe372640b9f7c2aca5674e90a0a8a771555e39 /client
parent2d415aed93581592feaf14f8774120319b90c677 (diff)
parent9c5490ab25192ed4fbe6b6f11e1cecf01f437737 (diff)
Merge pull request #30623 from vespa-engine/mpolden/retry-status-404
Retry on 404 from /status.html
Diffstat (limited to 'client')
-rw-r--r--client/go/internal/vespa/target.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/client/go/internal/vespa/target.go b/client/go/internal/vespa/target.go
index ed3cb146eb1..94eb2cbafe4 100644
--- a/client/go/internal/vespa/target.go
+++ b/client/go/internal/vespa/target.go
@@ -174,7 +174,13 @@ func (s *Service) Wait(timeout time.Duration) error {
if err != nil {
return err
}
- okFunc := func(status int, response []byte) (bool, error) { return isOK(status) }
+ okFunc := func(status int, response []byte) (bool, error) {
+ // Always retry 404 as /status.html may return 404 while a cluster is becoming ready
+ if status == 404 {
+ return false, nil
+ }
+ return isOK(status)
+ }
status, err := wait(s, okFunc, func() *http.Request { return req }, timeout, s.retryInterval)
if err != nil {
statusDesc := ""