diff --git a/snow/engine/avalanche/bootstrapper.go b/snow/engine/avalanche/bootstrapper.go index 43d2b47..3958fe7 100644 --- a/snow/engine/avalanche/bootstrapper.go +++ b/snow/engine/avalanche/bootstrapper.go @@ -125,13 +125,11 @@ func (b *bootstrapper) fetch(vtxID ids.ID) error { // Process vertices func (b *bootstrapper) process(vtx avalanche.Vertex) error { toProcess := newMaxVertexHeap() - toProcess.Push(vtx) + if _, ok := b.processedCache.Get(vtx.ID()); !ok { // only process if we haven't already + toProcess.Push(vtx) + } for toProcess.Len() > 0 { vtx := toProcess.Pop() - if _, ok := b.processedCache.Get(vtx.ID()); ok { // already processed this - continue - } - switch vtx.Status() { case choices.Unknown: if err := b.fetch(vtx.ID()); err != nil {