Exports recoverable error (#7689)

Signed-off-by: Joe Elliott <number101010@gmail.com>
pull/7695/head
Joe Elliott 4 years ago committed by GitHub
parent 48e3473b15
commit 04b028f1e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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…
Cancel
Save