Skip to content
Snippets Groups Projects
Commit 110d6003 authored by Luca Moser's avatar Luca Moser
Browse files

make the portcheck less flimsy

parent e9e1b662
No related branches found
No related tags found
No related merge requests found
package portcheck package portcheck
import ( import (
"math/rand"
"net" "net"
"sync" "sync"
...@@ -65,14 +66,16 @@ func checkAutopeeringConnection() { ...@@ -65,14 +66,16 @@ func checkAutopeeringConnection() {
disc.Start(srv) disc.Start(srv)
defer disc.Close() defer disc.Close()
for _, master := range autopeering.Discovery().GetMasterPeers() { const retryCount = 10
err = disc.Ping(master) entryNodes := autopeering.Discovery().GetMasterPeers()
if err == nil { for i := 0; i < retryCount; i++ {
log.Infof("Pong received from %s", master.IP()) randEntryNode := entryNodes[rand.Intn(len(entryNodes))]
if err = disc.Ping(randEntryNode); err == nil {
log.Infof("Pong received from %s", randEntryNode.IP())
break break
} }
log.Warnf("Error pinging entry node %s: %s", master.IP(), err) log.Warnf("Error pinging entry node %s (attempts left %d/%d): %s", randEntryNode.IP(), retryCount-i+1, retryCount, err)
} }
if err != nil { if err != nil {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment