Add support + mission for new leader election algorithm - #205
Conversation
b18b42d to
9e62a28
Compare
marta-lokhova
left a comment
There was a problem hiding this comment.
thanks! looks like there are some merge conflicts, but otherwise looks good. We can also add the two new missions to the CI once this PR lands.
Part of stellar/stellar-core#4387 This change adds support for testing the new leader election algorithm by generating configs that make use of auto quorum set configuration where possible. In doing so, it switches many tests over to auto quorum set configuration. This change also adds a new set of missions that blend nodes running the old and new leader election algorithm to assess the impact of nodes using these different algorithms simultaneously. The good news is that in running the test I did not see much increase in timeouts with either majority (no ledger had more than 1 timeout).
9e62a28 to
f90c26d
Compare
| unsafeQuorum = true | ||
| awaitSync = true | ||
| validate = true | ||
| homeDomain = Some "stellar.org" |
There was a problem hiding this comment.
Should this be None so we don't accidentally create a single organization by default?
There was a problem hiding this comment.
I went down a bit of a rabbit hole here. Even before this change, all of the "simple" quorum types result in a flat quorum. That means that any missions that use AllPeersQuorum, CoreSetQuorum, CoreSetQuorumList, or CoreSetQuorumListWithThreshold get flattened into a single qset. I would have guessed that the *List* QuorumSetSpecs to end up as hierarchical qsets, but I also understand the logic for flattening them based on how we use the list-based QuorumSetSpecs in practice.
At the same time, setting a default homeDomain makes it easier to misconfigure AutoQuorums. I think what we want is:
- Default
homeDomaintoNoneas you suggest, and - When using
AllPeersQuorum,CoreSetQuorum, orCoreSetQuorumList, if thehomeDomainisNone, create a home domain to use for the resulting flat quorum. This matches the behavior before this change, but also allows us to use the new nomination algorithm for most missions.
What do you think?
Part of stellar/stellar-core#4387
This change adds support for testing the new leader election algorithm by generating configs that make use of auto quorum set configuration where possible. In doing so, it switches many tests over to auto quorum set configuration.
This change also adds a new set of missions that blend nodes running the old and new leader election algorithm to assess the impact of nodes using these different algorithms simultaneously. The good news is that in running the test I did not see much increase in timeouts with either majority (no ledger had more than 1 timeout).