From 06e25ca5caf22ef70d00491447f730056122c1f5 Mon Sep 17 00:00:00 2001 From: Neil Date: Mon, 3 Feb 2025 21:01:56 +0000 Subject: [PATCH] Tweak NATS startup and readiness checking (#3523) Signed-off-by: Neil Alexander Signed-off-by: Neil Alexander Co-authored-by: Neil Alexander --- setup/jetstream/nats.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/setup/jetstream/nats.go b/setup/jetstream/nats.go index e28688af..b7b69476 100644 --- a/setup/jetstream/nats.go +++ b/setup/jetstream/nats.go @@ -66,10 +66,8 @@ func (s *NATSInstance) Prepare(process *process.ProcessContext, cfg *config.JetS if !cfg.NoLog { s.SetLogger(NewLogAdapter(), opts.Debug, opts.Trace) } - go func() { - process.ComponentStarted() - s.Start() - }() + process.ComponentStarted() + go s.Start() go func() { <-process.WaitForShutdown() s.Shutdown() @@ -77,7 +75,12 @@ func (s *NATSInstance) Prepare(process *process.ProcessContext, cfg *config.JetS process.ComponentFinished() }() if !s.ReadyForConnections(time.Second * 60) { - logrus.Fatalln("NATS did not start in time") + logrus.Fatalln("NATS did not start in time, shutting down") + process.ShutdownDendrite() + s.Shutdown() + s.WaitForShutdown() + process.ComponentFinished() + return nil, nil } }