Use automatic quorum set configuration by default#396
Conversation
Closes stellar#271 This change enables automatic quorum set configuration on all missions that previously had it disabled until the old stable image supported the `SKIP_HIGH_CRITICAL_VALIDATOR_CHECKS_FOR_TESTING` configuration option. That option was introduced in stellar-core v22.3.0, so this is beyond overdue. The change also removes the `--enable-relaxed-auto-qset-config` option and uncondtionally sets `SKIP_HIGH_CRITICAL_VALIDATOR_CHECKS_FOR_TESTING=true`. This ensures that we use automatic quorum set configuration (and therefore the "new" nomination algorithm) wherever possible.
There was a problem hiding this comment.
Pull request overview
This PR enables automatic quorum set configuration by default across missions, removing the now-obsolete “relaxed auto qset” toggle and related plumbing, so missions consistently use stellar-core’s auto quorum set configuration (and associated nomination behavior) on current stable images.
Changes:
- Removed the
--enable-relaxed-auto-qset-configCLI option and theenableRelaxedAutoQsetConfigfield fromMissionContext. - Removed the per-mission
skipHighCriticalValidatorChecks/explicit-qset compatibility overrides now that stable stellar-core images supportSKIP_HIGH_CRITICAL_VALIDATOR_CHECKS_FOR_TESTING. - Switched quorum set generation to prefer auto quorum sets unconditionally when possible, and always emits
SKIP_HIGH_CRITICAL_VALIDATOR_CHECKS_FOR_TESTING=truein generated core configs.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/FSLibrary/StellarNetworkData.fs | Removes the explicit-qset fallback for pubnet tier1 and defaults pubnet quorum generation to auto qset. |
| src/FSLibrary/StellarMissionContext.fs | Removes the enableRelaxedAutoQsetConfig field from mission context. |
| src/FSLibrary/StellarCoreSet.fs | Deletes skipHighCriticalValidatorChecks from CoreSetOptions and updates quorum-config comments. |
| src/FSLibrary/StellarCoreCfg.fs | Always emits SKIP_HIGH_CRITICAL_VALIDATOR_CHECKS_FOR_TESTING and makes PreferAutoQset choose auto when homeDomain is set. |
| src/FSLibrary/MissionVersionMixConsensus.fs | Drops explicit-qset / skip-check compatibility overrides for old-image missions. |
| src/FSLibrary/MissionMixedImageNetworkSurvey.fs | Removes explicit-qset / skip-check compatibility overrides for mixed-image survey mission. |
| src/FSLibrary/MissionMixedImageLoadGeneration.fs | Removes explicit-qset / skip-check compatibility overrides for mixed-image loadgen mission. |
| src/FSLibrary/MissionDatabaseInplaceUpgrade.fs | Removes explicit-qset / skip-check compatibility overrides for inplace-upgrade mission. |
| src/FSLibrary/MissionCatchupHelpers.fs | Removes explicit-qset / skip-check compatibility overrides for catchup mission core sets. |
| src/FSLibrary.Tests/Tests.fs | Updates test MissionContext literal to remove enableRelaxedAutoQsetConfig. |
| src/App/Program.fs | Removes the --enable-relaxed-auto-qset-config CLI option and stops wiring it into MissionContext. |
Comments suppressed due to low confidence (1)
src/App/Program.fs:532
- The
--enable-relaxed-auto-qset-configCLI option was removed here, but it is still referenced in documentation (e.g.doc/theoretical-max-tps.mdlists it in the “Extra Supercluster Options” column). Users following those docs will now get an “unknown option” error; the docs should be updated to remove this flag (it’s now the default behavior).
[<Option("check-events-are-consistent-with-entry-diffs",
HelpText = "when this flag is provided, pubnet parallel catchup workers will run with `EMIT_CLASSIC_EVENTS` and `BACKFILL_STELLAR_ASSET_EVENTS` set, and have the `EventsAreConsistentWithEntryDiffs` invariant check enabled",
Required = false)>]
member self.CheckEventsAreConsistentWithEntryDiffs = checkEventsAreConsistentWithEntryDiffs
[<Option("job-monitor-external-host",
HelpText = "Cluster-external hostname to connect to for access to job monitor",
Required = false)>]
member self.JobMonitorExternalHost = jobMonitorExternalHost
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9b8360c354
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Closes #271
This change enables automatic quorum set configuration on all missions that previously had it disabled until the old stable image supported the
SKIP_HIGH_CRITICAL_VALIDATOR_CHECKS_FOR_TESTINGconfiguration option. That option was introduced in stellar-core v22.3.0, so this is beyond overdue.The change also removes the
--enable-relaxed-auto-qset-configoption and uncondtionally setsSKIP_HIGH_CRITICAL_VALIDATOR_CHECKS_FOR_TESTING=true. This ensures that we use automatic quorum set configuration (and therefore the "new" nomination algorithm) wherever possible.