Ver Fonte

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 há 11 anos atrás
pai
commit
320cc5713b
1 ficheiros alterados com 7 adições e 1 exclusões
  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
 	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()
 		return nil, err
 	}