PeerAdd: send cluster multiaddresses to new peer before adding it to raft
It seems more logical that the new peer should know how to contact everyone before it needs to start doing it, but it probably does not matter much. Still, more logical. License: MIT Signed-off-by: Hector Sanjuan <hector@protocol.ai>
This commit is contained in:
parent
5a7c1fc847
commit
5e465c3f62
16
cluster.go
16
cluster.go
|
@ -662,14 +662,6 @@ func (c *Cluster) PeerAdd(addr ma.Multiaddr) (api.ID, error) {
|
|||
return id, err
|
||||
}
|
||||
|
||||
// Log the new peer in the log so everyone gets it.
|
||||
err = c.consensus.AddPeer(pid)
|
||||
if err != nil {
|
||||
logger.Error(err)
|
||||
id := api.ID{ID: pid, Error: err.Error()}
|
||||
return id, err
|
||||
}
|
||||
|
||||
// Send cluster peers to the new peer.
|
||||
clusterPeers := append(c.peerManager.addresses(peers),
|
||||
addrSerial.ToMultiaddr())
|
||||
|
@ -682,6 +674,14 @@ func (c *Cluster) PeerAdd(addr ma.Multiaddr) (api.ID, error) {
|
|||
logger.Error(err)
|
||||
}
|
||||
|
||||
// Log the new peer in the log so everyone gets it.
|
||||
err = c.consensus.AddPeer(pid)
|
||||
if err != nil {
|
||||
logger.Error(err)
|
||||
id := api.ID{ID: pid, Error: err.Error()}
|
||||
return id, err
|
||||
}
|
||||
|
||||
// Ask the new peer to connect its IPFS daemon to the rest
|
||||
err = c.rpcClient.Call(pid,
|
||||
"Cluster",
|
||||
|
|
Loading…
Reference in New Issue
Block a user