move context timeout inside loop, so context gets a fresh deadline

This commit is contained in:
Matt Jaffee 2019-06-21 12:15:58 -05:00
parent 481c85acae
commit c0d067b7ee
No known key found for this signature in database
GPG key ID: 08A3DFFF987B11BF

View file

@ -1702,14 +1702,14 @@ func confirmNodeDown(uri URI, log logger.Logger) bool {
Host: uri.HostPort(),
Path: "version",
}
ctx, cancel := context.WithTimeout(context.Background(), confirmDownTimeout*time.Second)
defer cancel()
req, err := http.NewRequest("GET", u.String(), nil)
if err != nil {
log.Printf("bad request:%s %s", u.String(), err)
return false
}
for i := 0; i < confirmDownRetries; i++ {
ctx, cancel := context.WithTimeout(context.Background(), confirmDownTimeout*time.Second)
defer cancel()
resp, err := http.DefaultClient.Do(req.WithContext(ctx))
var bod []byte
if err == nil {