From b150ea6b3ec6b69596e9af776a7eb6d0a304dc14 Mon Sep 17 00:00:00 2001 From: Sam Kleinman Date: Mon, 27 Sep 2021 14:08:08 -0400 Subject: [PATCH] e2e: avoid seed nodes when statesyncing (#7006) --- test/e2e/generator/generate.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/test/e2e/generator/generate.go b/test/e2e/generator/generate.go index 96f5ace58..6369cf962 100644 --- a/test/e2e/generator/generate.go +++ b/test/e2e/generator/generate.go @@ -275,7 +275,17 @@ func generateTestnet(r *rand.Rand, opt map[string]interface{}) (e2e.Manifest, er } }) for i, name := range peerNames { - if len(seedNames) > 0 && (i == 0 || r.Float64() >= 0.5) { + // there are seeds, statesync is disabled, and it's + // either the first peer by the sort order, and + // (randomly half of the remaining peers use a seed + // node; otherwise, choose some remaining set of the + // peers. + + if len(seedNames) > 0 && + manifest.Nodes[name].StateSync == e2e.StateSyncDisabled && + (i == 0 || r.Float64() >= 0.5) { + + // choose one of the seeds manifest.Nodes[name].Seeds = uniformSetChoice(seedNames).Choose(r) } else if i > 0 { peers := uniformSetChoice(peerNames[:i])