diff --git a/agent.go b/agent.go index fb0c342257..4c8980b2e1 100644 --- a/agent.go +++ b/agent.go @@ -191,8 +191,7 @@ func (c *controller) agentSetup() error { if remoteAddr != "" { if err := c.agentJoin(remoteAddr); err != nil { - logrus.Errorf("Error in agentJoin : %v", err) - return nil + logrus.Errorf("Error in joining gossip cluster : %v(join will be retried in background)", err) } } diff --git a/networkdb/cluster.go b/networkdb/cluster.go index 3b624c9a27..c3bfdd4051 100644 --- a/networkdb/cluster.go +++ b/networkdb/cluster.go @@ -161,6 +161,10 @@ func (nDB *NetworkDB) retryJoin(members []string, stop <-chan struct{}) { logrus.Errorf("Failed to join memberlist %s on retry: %v", members, err) continue } + if err := nDB.sendNodeEvent(NodeEventTypeJoin); err != nil { + logrus.Errorf("failed to send node join on retry: %v", err) + continue + } return case <-stop: return