Browse Source

Don't fail to create the client on LeaderNotAvailable

It indicates that part of the cluster is probably down, but it shouldn't be
fatal.
Evan Huus 11 years ago
parent
commit
320cc5713b
1 changed files with 7 additions and 1 deletions
  1. 7 1
      client.go

+ 7 - 1
client.go

@@ -63,7 +63,13 @@ func NewClient(id string, addrs []string, config *ClientConfig) (*Client, error)
 
 
 	// do an initial fetch of all cluster metadata by specifing an empty list of topics
 	// do an initial fetch of all cluster metadata by specifing an empty list of topics
 	err := client.RefreshAllMetadata()
 	err := client.RefreshAllMetadata()
-	if err != nil {
+	switch err {
+	case nil:
+		break
+	case LeaderNotAvailable:
+		// indicates that maybe part of the cluster is down, but is not fatal to creating the client
+		Logger.Println(err)
+	default:
 		client.Close()
 		client.Close()
 		return nil, err
 		return nil, err
 	}
 	}