Skip to content

Use new stellar-core config option to skip HIGH and CRITICAL validator checks#270

Merged
marta-lokhova merged 4 commits intostellar:mainfrom
bboston7:mixed-version-consensus-fix
Apr 28, 2025
Merged

Use new stellar-core config option to skip HIGH and CRITICAL validator checks#270
marta-lokhova merged 4 commits intostellar:mainfrom
bboston7:mixed-version-consensus-fix

Conversation

@bboston7
Copy link
Copy Markdown
Contributor

@bboston7 bboston7 commented Apr 22, 2025

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.

This PR uses the new SKIP_HIGH_CRITICAL_VALIDATOR_CHECKS_FOR_TESTING introduced 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.

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.
@bboston7 bboston7 requested a review from marta-lokhova April 22, 2025 20:47
@marta-lokhova
Copy link
Copy Markdown
Contributor

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
@bboston7
Copy link
Copy Markdown
Contributor Author

Should this be a core change?

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.

@bboston7 bboston7 marked this pull request as draft April 25, 2025 00:28
@bboston7 bboston7 changed the title Use MEDIUM quality for validators in simple quorums Use new stellar-core config option to skip HIGH and CRITICAL validator checks Apr 25, 2025
Comment thread src/FSLibrary/MissionCatchupHelpers.fs
@bboston7
Copy link
Copy Markdown
Contributor Author

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.

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.

@bboston7 bboston7 marked this pull request as ready for review April 25, 2025 21:51
Comment thread src/App/Program.fs
@marta-lokhova marta-lokhova merged commit ba277dd into stellar:main Apr 28, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants