ソースを参照

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 12 年 前
コミット
320cc5713b
1 ファイル変更7 行追加1 行削除
  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
 	}
 	}