aboutsummaryrefslogtreecommitdiff
path: root/weed/server/master_server.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-07-21 23:49:51 -0700
committerchrislu <chris.lu@gmail.com>2022-07-21 23:49:51 -0700
commit35261c805efe56a05ae524b798e0158719cf7a04 (patch)
tree563e07fbe996a9ed54e600ffb306f22552d628d6 /weed/server/master_server.go
parent99739fa5a9c20174a1739e51d3a8b4c4d2ebd3b1 (diff)
parent7a6c559ab4a6b696bb574454b297ebefabec29ed (diff)
downloadseaweedfs-35261c805efe56a05ae524b798e0158719cf7a04.tar.xz
seaweedfs-35261c805efe56a05ae524b798e0158719cf7a04.zip
Merge branch 'master' into messaging
Diffstat (limited to 'weed/server/master_server.go')
-rw-r--r--weed/server/master_server.go19
1 files changed, 11 insertions, 8 deletions
diff --git a/weed/server/master_server.go b/weed/server/master_server.go
index 92d38d648..510f1a844 100644
--- a/weed/server/master_server.go
+++ b/weed/server/master_server.go
@@ -65,8 +65,8 @@ type MasterServer struct {
boundedLeaderChan chan int
- onPeerUpdatDoneCn chan string
- onPeerUpdatDoneCnExist bool
+ onPeerUpdateDoneCn chan string
+ onPeerUpdateDoneCnExist bool
// notifying clients
clientChansLock sync.RWMutex
@@ -118,7 +118,7 @@ func NewMasterServer(r *mux.Router, option *MasterOption, peers map[string]pb.Se
Cluster: cluster.NewCluster(),
}
ms.boundedLeaderChan = make(chan int, 16)
- ms.onPeerUpdatDoneCn = make(chan string)
+ ms.onPeerUpdateDoneCn = make(chan string)
ms.MasterClient.OnPeerUpdate = ms.OnPeerUpdate
@@ -366,14 +366,15 @@ func (ms *MasterServer) OnPeerUpdate(update *master_pb.ClusterNodeUpdate, startF
hashicorpRaft.ServerAddress(peerAddress.ToGrpcAddress()), 0, 0)
}
}
- if ms.onPeerUpdatDoneCnExist {
- ms.onPeerUpdatDoneCn <- peerName
+ if ms.onPeerUpdateDoneCnExist {
+ ms.onPeerUpdateDoneCn <- peerName
}
} else if isLeader {
go func(peerName string) {
+ raftServerRemovalTimeAfter := time.After(RaftServerRemovalTime)
for {
select {
- case <-time.After(RaftServerRemovalTime):
+ case <-raftServerRemovalTimeAfter:
err := ms.MasterClient.WithClient(false, func(client master_pb.SeaweedClient) error {
_, err := client.RaftRemoveServer(context.Background(), &master_pb.RaftRemoveServerRequest{
Id: peerName,
@@ -384,14 +385,16 @@ func (ms *MasterServer) OnPeerUpdate(update *master_pb.ClusterNodeUpdate, startF
if err != nil {
glog.Warningf("failed to removing old raft server %s: %v", peerName, err)
}
+ glog.V(0).Infof("old raft server %s removed", peerName)
return
- case peerDone := <-ms.onPeerUpdatDoneCn:
+ case peerDone := <-ms.onPeerUpdateDoneCn:
if peerName == peerDone {
+ glog.V(0).Infof("raft server %s remove canceled", peerName)
return
}
}
}
}(peerName)
- ms.onPeerUpdatDoneCnExist = true
+ ms.onPeerUpdateDoneCnExist = true
}
}