mirror of
https://github.com/gogrlx/nats-server.git
synced 2026-04-16 19:14:41 -07:00
Send our own serverinfo when we receive an update from a new server
Signed-off-by: Derek Collison <derek@nats.io>
This commit is contained in:
@@ -878,6 +878,12 @@ func (s *Server) remoteServerUpdate(sub *subscription, _ *client, subject, reply
|
||||
}
|
||||
si := ssm.Server
|
||||
node := string(getHash(si.Name))
|
||||
if _, ok := s.nodeToInfo.Load(node); !ok {
|
||||
// Since we have not seen this one they probably have not seen us so send out our update.
|
||||
s.mu.Lock()
|
||||
s.sendStatsz(fmt.Sprintf(serverStatsSubj, s.info.ID))
|
||||
s.mu.Unlock()
|
||||
}
|
||||
s.nodeToInfo.Store(node, &nodeInfo{si.Name, si.Cluster, si.ID, false})
|
||||
}
|
||||
|
||||
|
||||
@@ -3594,14 +3594,17 @@ func createJetStreamSuperCluster(t *testing.T, numServersPer, numClusters int) *
|
||||
sc.waitOnAllCurrent()
|
||||
|
||||
// Wait for all the peer nodes to be registered.
|
||||
expires := time.Now().Add(5 * time.Second)
|
||||
for ml := sc.leader(); ml != nil && time.Now().Before(expires); {
|
||||
peers := ml.ActivePeers()
|
||||
if len(peers) == numClusters*numServersPer {
|
||||
break
|
||||
checkFor(t, 5*time.Second, 100*time.Millisecond, func() error {
|
||||
var peers []string
|
||||
if ml := sc.leader(); ml != nil {
|
||||
peers = ml.ActivePeers()
|
||||
if len(peers) == numClusters*numServersPer {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
time.Sleep(25 * time.Millisecond)
|
||||
}
|
||||
fmt.Printf("AP is %+v\n", peers)
|
||||
return fmt.Errorf("Not correct number of peers, expected %d, got %d", numClusters*numServersPer, len(peers))
|
||||
})
|
||||
|
||||
if sc.leader() == nil {
|
||||
sc.t.Fatalf("Expected a cluster leader, got none")
|
||||
|
||||
Reference in New Issue
Block a user