Use new stellar-core config option to skip HIGH and CRITICAL validator checks#270
Conversation
Some tests (such as `VersionMixConsensus`) have enough nodes to reach the `HIGH` quality threshold for validators, but explicitly disable history archives. Supercluster improperly marked these nodes as `HIGH` quality, and stellar-core would refuse to start due to the lack of history archives. The solution in this PR is to mark all validators in flat quorums (called "simple quorums" in supercluster) as `MEDIUM` quality to disable the history archive check. Because these quorums are flat, the resulting automatic quorum is identical as if they were all marked `HIGH` quality. Tests that need explicitly marked `HIGH` quality validators can still do so via the `AutoQuorum` `QuorumSetSpec`, which allows fine-grained control over home domains and quality levels.
|
Should this be a core change? It seems that the underlying issue is still present: supercluser can't be flexible with HIGH quality quorums (and do things like disable archives for testing). For example, for non-simple-quorums we don't necessarily need to require 3 validators + archives for simulation testing purposes. |
Still need to update some missions to use this
I think that's a good idea. I opened stellar/stellar-core#4703 with the stellar-core change, and plumbed through support for the new option here. I still need to update some missions (specifically, missions that mix old and new nodes, as the old nodes won't support the new option), but once that's done I'll ping you for a followup review. |
MEDIUM quality for validators in simple quorums
This is now done, and this is ready for review. CI on this PR is currently failing because we haven't yet merged stellar/stellar-core#4703. We should not merge this PR until stellar/stellar-core#4703 is merged. |
Some tests (such as
VersionMixConsensus) have enough nodes to reach theHIGHquality threshold for validators, but explicitly disable history archives. Supercluster improperly marked these nodes asHIGHquality, and stellar-core would refuse to start due to the lack of history archives.This PR uses the new
SKIP_HIGH_CRITICAL_VALIDATOR_CHECKS_FOR_TESTINGintroduced in stellar/stellar-core#4703 to disable these checks when using automatic quorum set configuration.To maintain compatibility with older stellar-core versions, this change configures coresets of older stellar-core nodes to continue using explicit quorum set configuration.