Turns out when we use a single quorum-list variable in a recipe and thread it through multiple processes, it accumulates a new member for each place it's used. This causes topologies with core/listener splits to have listeners that treat their neighbours as quorum-members (and history members), and the complex-topology test fails.
Turns out when we use a single quorum-list variable in a recipe and thread it through multiple processes, it accumulates a new member for each place it's used. This causes topologies with core/listener splits to have listeners that treat their neighbours as quorum-members (and history members), and the complex-topology test fails.
Not mutating the quorum-list fixes it.