From 4ecc050c4cb17353c66833ab3c7e16e39d46e2e6 Mon Sep 17 00:00:00 2001 From: Jan Eitzinger Date: Wed, 17 Dec 2025 07:03:01 +0100 Subject: [PATCH] Fix deadlock if NATS is not configured --- cmd/cc-backend/main.go | 2 +- internal/memorystore/lineprotocol.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cmd/cc-backend/main.go b/cmd/cc-backend/main.go index c3e3387..f9b198d 100644 --- a/cmd/cc-backend/main.go +++ b/cmd/cc-backend/main.go @@ -271,7 +271,7 @@ func initSubsystems() error { // Initialize nats client natsConfig := ccconf.GetPackageConfig("nats") if err := nats.Init(natsConfig); err != nil { - return fmt.Errorf("initializing nats client: %w", err) + cclog.Warnf("initializing (optional) nats client: %s", err.Error()) } nats.Connect() diff --git a/internal/memorystore/lineprotocol.go b/internal/memorystore/lineprotocol.go index 87d3b9e..aebdbdc 100644 --- a/internal/memorystore/lineprotocol.go +++ b/internal/memorystore/lineprotocol.go @@ -23,6 +23,11 @@ func ReceiveNats(ms *MemoryStore, ) error { nc := nats.GetClient() + if nc == nil { + cclog.Warn("NATS client not initialized") + return nil + } + var wg sync.WaitGroup msgs := make(chan []byte, workers*2)