mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
Exports recoverable error (#7689)
Signed-off-by: Joe Elliott <number101010@gmail.com>
This commit is contained in:
parent
48e3473b15
commit
04b028f1e6
|
@ -140,7 +140,7 @@ func NewWriteClient(name string, conf *ClientConfig) (WriteClient, error) {
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type recoverableError struct {
|
type RecoverableError struct {
|
||||||
error
|
error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ func (c *client) Store(ctx context.Context, req []byte) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// Errors from client.Do are from (for example) network errors, so are
|
// Errors from client.Do are from (for example) network errors, so are
|
||||||
// recoverable.
|
// recoverable.
|
||||||
return recoverableError{err}
|
return RecoverableError{err}
|
||||||
}
|
}
|
||||||
defer func() {
|
defer func() {
|
||||||
io.Copy(ioutil.Discard, httpResp.Body)
|
io.Copy(ioutil.Discard, httpResp.Body)
|
||||||
|
@ -193,7 +193,7 @@ func (c *client) Store(ctx context.Context, req []byte) error {
|
||||||
err = errors.Errorf("server returned HTTP status %s: %s", httpResp.Status, line)
|
err = errors.Errorf("server returned HTTP status %s: %s", httpResp.Status, line)
|
||||||
}
|
}
|
||||||
if httpResp.StatusCode/100 == 5 {
|
if httpResp.StatusCode/100 == 5 {
|
||||||
return recoverableError{err}
|
return RecoverableError{err}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ func TestStoreHTTPErrorHandling(t *testing.T) {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
code: 500,
|
code: 500,
|
||||||
err: recoverableError{errors.New("server returned HTTP status 500 Internal Server Error: " + longErrMessage[:maxErrMsgLen])},
|
err: RecoverableError{errors.New("server returned HTTP status 500 Internal Server Error: " + longErrMessage[:maxErrMsgLen])},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -902,7 +902,7 @@ func (s *shards) sendSamplesWithBackoff(ctx context.Context, samples []prompb.Ti
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// If the error is unrecoverable, we should not retry.
|
// If the error is unrecoverable, we should not retry.
|
||||||
if _, ok := err.(recoverableError); !ok {
|
if _, ok := err.(RecoverableError); !ok {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue