add wrapping to differentiate etcd errors

we had a CI job fail in an interesting way, but can't tell if the
etcd retrying stuff is working, so adding in this wrapping so we can
better differentiate the errors if we see it again.

Job is here: https://gitlab.com/molecula/featurebase/-/jobs/1977060827

Failure is:

```
=== RUN   TestClusterStuff
    cluster_test.go:36: creating index: against http://pilosa2:10101/index/testidx 404 Not Found: 'creating index: sending CreateIndex message: executing request: against http://pilosa3:10101/internal/cluster/message 500 Internal Server Error: 'processing message: getting index: testidx: etcdserver: request timed out
        ''
--- FAIL: TestClusterStuff (8.85s)
```
This commit is contained in:
Matthew Jaffee 2022-01-14 14:01:37 -06:00
parent 605da1e074
commit 555d185929

View file

@ -227,12 +227,12 @@ func (e *Etcd) retryClient(fn func(cli *clientv3.Client) error) (err error) {
break
default:
// nil, or an error we don't know about
return err
return errors.Wrap(err, "non-retryable error")
}
}
// if we got here, we got a total of three of some combination of
// ErrTimeout or ErrLeaderChanged, and we're giving up.
return err
return errors.Wrap(err, "exhausted all retries")
}
func parseOptions(opt Options) *embed.Config {