diff options
Diffstat (limited to 'weed/server')
| -rw-r--r-- | weed/server/master_grpc_server_cluster.go | 4 | ||||
| -rw-r--r-- | weed/server/master_server.go | 5 | ||||
| -rw-r--r-- | weed/server/master_server_cluster.go | 77 |
3 files changed, 5 insertions, 81 deletions
diff --git a/weed/server/master_grpc_server_cluster.go b/weed/server/master_grpc_server_cluster.go index 68801a3ba..8e80cade3 100644 --- a/weed/server/master_grpc_server_cluster.go +++ b/weed/server/master_grpc_server_cluster.go @@ -12,8 +12,8 @@ func (ms *MasterServer) ListClusterNodes(ctx context.Context, req *master_pb.Lis for _, node := range clusterNodes { resp.ClusterNodes = append(resp.ClusterNodes, &master_pb.ListClusterNodesResponse_ClusterNode{ - Address: string(node.address), - Version: node.version, + Address: string(node.Address), + Version: node.Version, }) } return resp, nil diff --git a/weed/server/master_server.go b/weed/server/master_server.go index 3f1f1c082..af2f7ddd5 100644 --- a/weed/server/master_server.go +++ b/weed/server/master_server.go @@ -2,6 +2,7 @@ package weed_server import ( "fmt" + "github.com/chrislusf/seaweedfs/weed/election" "github.com/chrislusf/seaweedfs/weed/pb" "net/http" "net/http/httputil" @@ -68,7 +69,7 @@ type MasterServer struct { adminLocks *AdminLocks - Cluster *Cluster + Cluster *election.Cluster } func NewMasterServer(r *mux.Router, option *MasterOption, peers []pb.ServerAddress) *MasterServer { @@ -105,7 +106,7 @@ func NewMasterServer(r *mux.Router, option *MasterOption, peers []pb.ServerAddre grpcDialOption: grpcDialOption, MasterClient: wdclient.NewMasterClient(grpcDialOption, "master", option.Master, "", peers), adminLocks: NewAdminLocks(), - Cluster: NewCluster(), + Cluster: election.NewCluster(), } ms.boundedLeaderChan = make(chan int, 16) diff --git a/weed/server/master_server_cluster.go b/weed/server/master_server_cluster.go deleted file mode 100644 index fa5280ccd..000000000 --- a/weed/server/master_server_cluster.go +++ /dev/null @@ -1,77 +0,0 @@ -package weed_server - -import ( - "github.com/chrislusf/seaweedfs/weed/pb" - "sync" -) - -type NodeType int - -const ( - filerNodeType NodeType = iota -) - -type ClusterNode struct { - address pb.ServerAddress - version string - counter int -} - -type Cluster struct { - filers map[pb.ServerAddress]*ClusterNode - filersLock sync.RWMutex -} - -func NewCluster() *Cluster { - return &Cluster{ - filers: make(map[pb.ServerAddress]*ClusterNode), - } -} - -func (cluster *Cluster) AddClusterNode(nodeType string, address pb.ServerAddress, version string) { - switch nodeType { - case "filer": - cluster.filersLock.Lock() - defer cluster.filersLock.Unlock() - if existingNode, found := cluster.filers[address]; found { - existingNode.counter++ - return - } - cluster.filers[address] = &ClusterNode{ - address: address, - version: version, - counter: 1, - } - case "master": - } -} - -func (cluster *Cluster) RemoveClusterNode(nodeType string, address pb.ServerAddress) { - switch nodeType { - case "filer": - cluster.filersLock.Lock() - defer cluster.filersLock.Unlock() - if existingNode, found := cluster.filers[address]; !found { - return - } else { - existingNode.counter-- - if existingNode.counter <= 0 { - delete(cluster.filers, address) - } - } - case "master": - } -} - -func (cluster *Cluster) ListClusterNode(nodeType string) (nodes []*ClusterNode) { - switch nodeType { - case "filer": - cluster.filersLock.RLock() - defer cluster.filersLock.RUnlock() - for _, node := range cluster.filers { - nodes = append(nodes, node) - } - case "master": - } - return -} |
