diff --git a/synced-pool.go b/synced-pool.go index b55719e..a8d956e 100644 --- a/synced-pool.go +++ b/synced-pool.go @@ -313,6 +313,11 @@ func (p *SyncedPool) RequestOwnership(id CartId) error { err := r.ConfirmChange(id, p.Hostname) all++ if err != nil { + r.MissedPings++ + if r.MissedPings > 3 { + p.RemoveHost(r) + return fmt.Errorf("remote grain change failed %v", err) + } log.Printf("Error confirming change: %v from %s\n", err, p.Hostname) continue }