(c config.Cluster)
| 786 | } |
| 787 | |
| 788 | func newCluster(c config.Cluster) (*cluster, error) { |
| 789 | clusterUsers := make(map[string]*clusterUser, len(c.ClusterUsers)) |
| 790 | for _, cu := range c.ClusterUsers { |
| 791 | if _, ok := clusterUsers[cu.Name]; ok { |
| 792 | return nil, fmt.Errorf("duplicate config for cluster user %q", cu.Name) |
| 793 | } |
| 794 | clusterUsers[cu.Name] = newClusterUser(cu) |
| 795 | } |
| 796 | |
| 797 | heartBeat := heartbeat.NewHeartbeat(c.HeartBeat, heartbeat.WithDefaultUser(c.ClusterUsers[0].Name, c.ClusterUsers[0].Password)) |
| 798 | |
| 799 | newC := &cluster{ |
| 800 | name: c.Name, |
| 801 | users: clusterUsers, |
| 802 | killQueryUserName: c.KillQueryUser.Name, |
| 803 | killQueryUserPassword: c.KillQueryUser.Password, |
| 804 | heartBeat: heartBeat, |
| 805 | retryNumber: c.RetryNumber, |
| 806 | } |
| 807 | |
| 808 | replicas, err := newReplicas(c.Replicas, c.Nodes, c.Scheme, newC) |
| 809 | if err != nil { |
| 810 | return nil, fmt.Errorf("cannot initialize replicas: %w", err) |
| 811 | } |
| 812 | newC.replicas = replicas |
| 813 | |
| 814 | return newC, nil |
| 815 | } |
| 816 | |
| 817 | func newClusters(cfg []config.Cluster) (map[string]*cluster, error) { |
| 818 | clusters := make(map[string]*cluster, len(cfg)) |
no test coverage detected