From 4e7f150e819f6ccb5118c2847f6dea3b55e89de0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toma=C5=BE=20Jerman?= Date: Fri, 18 Dec 2020 11:15:58 +0100 Subject: [PATCH] Fix graph cycle resolution --- pkg/envoy/graph.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/envoy/graph.go b/pkg/envoy/graph.go index 3ddce8528..7ab34fc96 100644 --- a/pkg/envoy/graph.go +++ b/pkg/envoy/graph.go @@ -171,14 +171,15 @@ func (g *graph) traverse(n *node, path, processed nodeMap) *node { if path.has(n) { return n } + cnn := g.removeProcessed(g.removeConflicting(g.childNodes(n))) // Nothing else to look at - if len(g.childNodes(n)) == 0 { + if len(cnn) == 0 { return nil } path.add(n) - for _, c := range g.childNodes(n) { + for _, c := range cnn { m := g.traverse(c, path, processed) if m != nil { return m