Merge pull request #2814 from kmlebedev/fix_remove_deleted_peers
Fix remove deleted peers
This commit is contained in:
@@ -81,10 +81,11 @@ func NewRaftServer(option *RaftServerOption) (*RaftServer, error) {
|
|||||||
transporter := raft.NewGrpcTransporter(option.GrpcDialOption)
|
transporter := raft.NewGrpcTransporter(option.GrpcDialOption)
|
||||||
glog.V(0).Infof("Starting RaftServer with %v", option.ServerAddr)
|
glog.V(0).Infof("Starting RaftServer with %v", option.ServerAddr)
|
||||||
|
|
||||||
|
// always clear previous log to avoid server is promotable
|
||||||
|
os.RemoveAll(path.Join(s.dataDir, "log"))
|
||||||
if !option.RaftResumeState {
|
if !option.RaftResumeState {
|
||||||
// always clear previous metadata
|
// always clear previous metadata
|
||||||
os.RemoveAll(path.Join(s.dataDir, "conf"))
|
os.RemoveAll(path.Join(s.dataDir, "conf"))
|
||||||
os.RemoveAll(path.Join(s.dataDir, "log"))
|
|
||||||
os.RemoveAll(path.Join(s.dataDir, "snapshot"))
|
os.RemoveAll(path.Join(s.dataDir, "snapshot"))
|
||||||
}
|
}
|
||||||
if err := os.MkdirAll(path.Join(s.dataDir, "snapshot"), 0600); err != nil {
|
if err := os.MkdirAll(path.Join(s.dataDir, "snapshot"), 0600); err != nil {
|
||||||
@@ -118,17 +119,17 @@ func NewRaftServer(option *RaftServerOption) (*RaftServer, error) {
|
|||||||
exists := false
|
exists := false
|
||||||
var existingPeer pb.ServerAddress
|
var existingPeer pb.ServerAddress
|
||||||
for _, peer := range s.peers {
|
for _, peer := range s.peers {
|
||||||
if peer.ToGrpcAddress() == existsPeerName {
|
if peer.String() == existsPeerName {
|
||||||
exists, existingPeer = true, peer
|
exists, existingPeer = true, peer
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if exists {
|
if !exists {
|
||||||
if err := s.raftServer.RemovePeer(existsPeerName); err != nil {
|
if err := s.raftServer.RemovePeer(existsPeerName); err != nil {
|
||||||
glog.V(0).Infoln(err)
|
glog.V(0).Infoln(err)
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
glog.V(0).Infof("removing old peer %s", existingPeer)
|
glog.V(0).Infof("removing old peer: %s", existingPeer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user