From fc31d375a2451536166f0e559b5ebf8dcf0a3bf4 Mon Sep 17 00:00:00 2001 From: "Arthur K." Date: Fri, 23 Jan 2026 12:19:16 +0300 Subject: [PATCH] fix: prevent firing registry events on heartbeat --- internal/registry/registry.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/registry/registry.go b/internal/registry/registry.go index 610e153..9e425d2 100644 --- a/internal/registry/registry.go +++ b/internal/registry/registry.go @@ -123,6 +123,15 @@ func (r *Registry) RemoveNode(node types.Node) error { func (r *Registry) Set(nodes map[string]types.Node) error { r.lock.Lock() + equalFunc := func(a, b types.Node) bool { + return a.Hostname == b.Hostname + } + + if maps.EqualFunc(r.nodes, nodes, equalFunc) { + r.lock.Unlock() + return nil + } + r.nodes = maps.Clone(nodes) snapshot := r.snapshot() r.lock.Unlock()