diff options
| author | Устюжанин Антон Александрович <ustuzhanin@tochka.com> | 2020-10-04 21:56:17 +0500 |
|---|---|---|
| committer | Устюжанин Антон Александрович <ustuzhanin@tochka.com> | 2020-10-04 21:56:17 +0500 |
| commit | 702b1cb8762283b000c8ff782c7dc658bd223b55 (patch) | |
| tree | 19566db33fe10a2d0689e970ea3b7899e93369ca /weed/server/raft_server.go | |
| parent | b3dd0ba446649d3a3fe56dba547585bf18b039b7 (diff) | |
| download | seaweedfs-702b1cb8762283b000c8ff782c7dc658bd223b55.tar.xz seaweedfs-702b1cb8762283b000c8ff782c7dc658bd223b55.zip | |
fix: remove deleted peers if resumeState = true
Diffstat (limited to 'weed/server/raft_server.go')
| -rw-r--r-- | weed/server/raft_server.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/weed/server/raft_server.go b/weed/server/raft_server.go index 7045437e8..66a6734e3 100644 --- a/weed/server/raft_server.go +++ b/weed/server/raft_server.go @@ -104,7 +104,24 @@ func NewRaftServer(grpcDialOption grpc.DialOption, peers []string, serverAddr, d if err := s.raftServer.AddPeer(peer, pb.ServerToGrpcAddress(peer)); err != nil { return nil, err } + } + // Remove deleted peers + if raftResumeState { + for existsPeerName, _ := range s.raftServer.Peers() { + exists := false + for _, peer := range s.peers { + if peer == existsPeerName { + exists = true + } + } + if !exists { + if err := s.raftServer.RemovePeer(existsPeerName); err != nil { + glog.V(0).Infoln(err) + return nil, err + } + } + } } s.GrpcServer = raft.NewGrpcServer(s.raftServer) |
