From 08b22316e5850778126bc6cf206a63d4b16d92c6 Mon Sep 17 00:00:00 2001 From: matst80 Date: Sun, 10 Nov 2024 13:10:26 +0100 Subject: [PATCH] remove local grains if they exist --- synced-pool.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/synced-pool.go b/synced-pool.go index 6e3f589..23a0614 100644 --- a/synced-pool.go +++ b/synced-pool.go @@ -269,6 +269,10 @@ func (p *SyncedPool) handleConnection(conn net.Conn) { found = true log.Printf("Remote grain %s changed to %s\n", idAndHostParts[0], idAndHostParts[1]) p.mu.Lock() + if p.local.grains[ToCartId(idAndHostParts[0])] != nil { + log.Printf("Grain %s already exists locally, deleting\n", idAndHostParts[0]) + delete(p.local.grains, ToCartId(idAndHostParts[0])) + } p.remoteIndex[ToCartId(idAndHostParts[0])] = r.Pool p.mu.Unlock() }