aboutsummaryrefslogtreecommitdiff
path: root/weed/server/master_server_cluster.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-11-04 00:54:38 -0700
committerChris Lu <chris.lu@gmail.com>2021-11-04 00:54:38 -0700
commit77f90ae288924822c883fdfb28efd1b9a7ee90c1 (patch)
tree3bef36d511bd34eb1293b7a49397dd3988b0426c /weed/server/master_server_cluster.go
parent35c37562bc34393853de1c54ed06740bdffdf919 (diff)
downloadseaweedfs-77f90ae288924822c883fdfb28efd1b9a7ee90c1.tar.xz
seaweedfs-77f90ae288924822c883fdfb28efd1b9a7ee90c1.zip
add leader election in master
Diffstat (limited to 'weed/server/master_server_cluster.go')
-rw-r--r--weed/server/master_server_cluster.go77
1 files changed, 0 insertions, 77 deletions
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
-}