diff --git a/engine/graph/exporter.go b/engine/graph/exporter.go index 863c4b67..2c602457 100644 --- a/engine/graph/exporter.go +++ b/engine/graph/exporter.go @@ -236,7 +236,14 @@ func (obj *Exporter) Prune(ctx context.Context, graph *pgraph.Graph) error { // If we do this erroneously, it causes extra traffic. obj.state[k] = false // do this only if the Res is NEW continue // skip it, it's staying + + } else if exists { + // If it exists and it's the same as it was, do nothing. + // This is important to prevent thrashing/flapping... + continue } + + // These don't exist anymore, we have to get rid of them... delete(obj.state, k) // it's gone! resourceDeletes = append(resourceDeletes, &k) } diff --git a/etcd/client/resources/resources.go b/etcd/client/resources/resources.go index dbf8cb04..0316efab 100644 --- a/etcd/client/resources/resources.go +++ b/etcd/client/resources/resources.go @@ -148,7 +148,7 @@ func SetResources(ctx context.Context, client interfaces.Client, hostname string return false, err } - b = b && out.Succeeded // collect the true/false responses... + b = b && !out.Succeeded // collect the true/false responses... } // false means something changed