diff --git a/etcd/embed.go b/etcd/embed.go index db3bc34ea..a7f1ba073 100644 --- a/etcd/embed.go +++ b/etcd/embed.go @@ -210,7 +210,7 @@ func (e *Etcd) retryClient(fn func(cli *clientv3.Client) error) (err error) { e.cli = cli e.cliMu.Unlock() break - case etcdserver.ErrTimeout: + case etcdserver.ErrTimeout, etcdserver.ErrTimeoutDueToLeaderFail, etcdserver.ErrTimeoutDueToConnectionLost, etcdserver.ErrTimeoutLeaderTransfer: // sporadic timeouts are concerning but not necessarily fatal // and can usually be retried. elapsed := time.Since(start)