From 2374e11b6d526e95408f493b6ab603de9b85c1a1 Mon Sep 17 00:00:00 2001 From: Renan DelValle Date: Mon, 12 Feb 2018 15:31:50 -0800 Subject: [PATCH] ZK leader finder now returns a temporary error instead of constantly no leader found and quitting. It could be that the leader info is being propagated so it's worth trying another time. --- zk.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/zk.go b/zk.go index 195cb3a..f5f55ff 100644 --- a/zk.go +++ b/zk.go @@ -93,11 +93,12 @@ func LeaderFromZK(cluster Cluster) (string, error) { } } - return false, errors.New("No leader found") + // Leader data might not be available yet, try to fetch again. + return false, NewTemporaryError(errors.New("No leader found")) }) if retryErr != nil { - return "", errors.Wrapf(retryErr, "Failed to determine leader after %v attempts", defaultBackoff.Steps) + return "", NewTimeoutError(errors.Wrapf(retryErr, "Failed to determine leader after %v attempts", defaultBackoff.Steps)) } return zkurl, nil