diff --git a/server/jetstream_helpers_test.go b/server/jetstream_helpers_test.go index a6325fc7..8c69e8c4 100644 --- a/server/jetstream_helpers_test.go +++ b/server/jetstream_helpers_test.go @@ -951,7 +951,7 @@ func (s *Server) closeAndDisableLeafnodes() { leafs = append(leafs, ln) } // Disable leafnodes for now. - s.leafNodeEnabled = false + s.leafDisableConnect = true s.mu.Unlock() for _, ln := range leafs { diff --git a/server/leafnode.go b/server/leafnode.go index d2982ed3..69afdd0b 100644 --- a/server/leafnode.go +++ b/server/leafnode.go @@ -495,12 +495,13 @@ func (s *Server) connectToRemoteLeafNode(remote *leafNodeCfg, firstConnect bool) if url != rURL.Host { ipStr = fmt.Sprintf(" (%s)", url) } - if s.isLeafNodeEnabled() { - s.Debugf("Trying to connect as leafnode to remote server on %q%s", rURL.Host, ipStr) - conn, err = natsDialTimeout("tcp", url, dialTimeout) - } else { + // Some test may want to disable remotes from connecting + if s.isLeafConnectDisabled() { s.Debugf("Will not attempt to connect to remote server on %q%s, leafnodes currently disabled", rURL.Host, ipStr) err = ErrLeafNodeDisabled + } else { + s.Debugf("Trying to connect as leafnode to remote server on %q%s", rURL.Host, ipStr) + conn, err = natsDialTimeout("tcp", url, dialTimeout) } } if err != nil { @@ -569,10 +570,10 @@ func (s *Server) checkJetStreamMigrate(remote *leafNodeCfg) { } // Helper for checking. -func (s *Server) isLeafNodeEnabled() bool { +func (s *Server) isLeafConnectDisabled() bool { s.mu.RLock() defer s.mu.RUnlock() - return s.leafNodeEnabled + return s.leafDisableConnect } // Save off the tlsName for when we use TLS and mix hostnames and IPs. IPs usually diff --git a/server/server.go b/server/server.go index 02b812c3..9239b827 100644 --- a/server/server.go +++ b/server/server.go @@ -164,6 +164,7 @@ type Server struct { leafRemoteCfgs []*leafNodeCfg leafRemoteAccounts sync.Map leafNodeEnabled bool + leafDisableConnect bool // Used in test only quitCh chan struct{} startupComplete chan struct{}