From 66102ce98e0c1a7c944d4631e26a50bf9b7b80ba Mon Sep 17 00:00:00 2001 From: DBT Date: Wed, 25 Feb 2026 06:09:56 +0000 Subject: [PATCH] fix node manager deadlock by moving audit write outside lock --- pkg/nodes/manager.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/nodes/manager.go b/pkg/nodes/manager.go index e922879..55b2b87 100644 --- a/pkg/nodes/manager.go +++ b/pkg/nodes/manager.go @@ -41,7 +41,6 @@ func (m *Manager) SetAuditPath(path string) { func (m *Manager) Upsert(info NodeInfo) { m.mu.Lock() - defer m.mu.Unlock() now := time.Now().UTC() old, existed := m.nodes[info.ID] info.LastSeenAt = now @@ -60,6 +59,7 @@ func (m *Manager) Upsert(info NodeInfo) { info.RegisteredAt = now } m.nodes[info.ID] = info + m.mu.Unlock() m.appendAudit("upsert", info.ID, map[string]interface{}{"existed": existed, "endpoint": info.Endpoint, "version": info.Version}) }