From 75d274a6362b3ca780e6c878841bbe192d6babd3 Mon Sep 17 00:00:00 2001 From: Derek Collison Date: Sat, 13 May 2023 18:36:42 -0700 Subject: [PATCH] If a NATS system has multiple domains make sure to process those during a remote update before bailing. Signed-off-by: Derek Collison --- server/events.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/server/events.go b/server/events.go index 4f7e8a70..00c1d3ed 100644 --- a/server/events.go +++ b/server/events.go @@ -1268,6 +1268,13 @@ func (s *Server) remoteServerUpdate(sub *subscription, c *client, _ *Account, su } si := ssm.Server + // Should do normal updates before bailing if wrong domain. + s.mu.Lock() + if s.running && s.eventsEnabled() && ssm.Server.ID != s.info.ID { + s.updateRemoteServer(&si) + } + s.mu.Unlock() + // JetStream node updates. if !s.sameDomain(si.Domain) { return @@ -1293,11 +1300,6 @@ func (s *Server) remoteServerUpdate(sub *subscription, c *client, _ *Account, su stats, false, si.JetStream, }) - s.mu.Lock() - if s.running && s.eventsEnabled() && ssm.Server.ID != s.info.ID { - s.updateRemoteServer(&si) - } - s.mu.Unlock() } // updateRemoteServer is called when we have an update from a remote server.