Просмотр исходного кода

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 лет назад
Родитель
Сommit
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
 	}
 	}