From 952b76c5552d6372bc1f22d0df727094b7defab5 Mon Sep 17 00:00:00 2001 From: Arthur Lu Date: Sat, 6 Jun 2026 23:22:46 +0000 Subject: [PATCH] fix deadlock on failed cluster sync --- app/app.go | 1 + app/model.go | 2 ++ 2 files changed, 3 insertions(+) diff --git a/app/app.go b/app/app.go index 18b7873..6c1ddb3 100644 --- a/app/app.go +++ b/app/app.go @@ -35,6 +35,7 @@ func Run() { cluster := Cluster{} cluster.Init(client) start := time.Now() + log.Printf("[INFO] starting cluster sync\n") err := cluster.Sync() if err != nil { log.Printf("[Error] error encountered while syncing cluster: %s", err) diff --git a/app/model.go b/app/model.go index fce094d..33e801f 100644 --- a/app/model.go +++ b/app/model.go @@ -36,6 +36,7 @@ func (cluster *Cluster) Sync() error { // get all nodes nodes, err := cluster.pve.Nodes() if err != nil { + cluster.lock.Unlock() return err } @@ -56,6 +57,7 @@ func (cluster *Cluster) Sync() error { err = wg.Wait() if err != nil { + cluster.lock.Unlock() return err }