diff --git a/loadbalancer/retry.go b/loadbalancer/retry.go index a8a2f67..ed931f8 100644 --- a/loadbalancer/retry.go +++ b/loadbalancer/retry.go @@ -15,6 +15,10 @@ // balancer. Requests that return errors will be retried until they succeed, // up to max times, or until the timeout is elapsed, whichever comes first. func Retry(max int, timeout time.Duration, lb LoadBalancer) endpoint.Endpoint { + if lb == nil { + panic("nil LoadBalancer") + } + return func(ctx context.Context, request interface{}) (interface{}, error) { var ( newctx, cancel = context.WithTimeout(ctx, timeout)