Skip to content

Commit

Permalink
warnings for flags due for deprecation
Browse files Browse the repository at this point in the history
  • Loading branch information
kasey committed Jan 31, 2025
1 parent 4a63a19 commit fa5c297
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 3 deletions.
2 changes: 2 additions & 0 deletions changelog/kasey_warn-hist-state-rep.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
### Added
- WARN log message on node startup advising of the upcoming deprecation of the --enable-historical-state-representation feature flag.
17 changes: 17 additions & 0 deletions config/features/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ func applyHoleskyFeatureFlags(ctx *cli.Context) {
// ConfigureBeaconChain sets the global config based
// on what flags are enabled for the beacon-chain client.
func ConfigureBeaconChain(ctx *cli.Context) error {
warnDeprecationUpcoming(ctx)
complainOnDeprecatedFlags(ctx)
cfg := &Flags{}
if ctx.Bool(devModeFlag.Name) {
Expand Down Expand Up @@ -336,6 +337,22 @@ func complainOnDeprecatedFlags(ctx *cli.Context) {
}
}

var upcomingDeprecationExtra = map[string]string{
enableHistoricalSpaceRepresentation.Name: "The node needs to be resynced after flag removal.",
}

func warnDeprecationUpcoming(ctx *cli.Context) {
for _, f := range upcomingDeprecation {
if ctx.IsSet(f.Names()[0]) {
extra := "Please remove this flag from your configuration."
if special, ok := upcomingDeprecationExtra[f.Names()[0]]; ok {
extra += " " + special
}
log.Warnf("--%s is pending deprecation and will be removed in the next release. %s", f.Names()[0], extra)
}
}
}

func logEnabled(flag cli.DocGenerationFlag) {
var name string
if names := flag.Names(); len(names) > 0 {
Expand Down
4 changes: 4 additions & 0 deletions config/features/deprecated_flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,10 @@ var deprecatedFlags = []cli.Flag{
deprecatedEnableQuic,
}

var upcomingDeprecation = []cli.Flag{
enableHistoricalSpaceRepresentation,
}

// deprecatedBeaconFlags contains flags that are still used by other components
// and therefore cannot be added to deprecatedFlags
var deprecatedBeaconFlags = []cli.Flag{
Expand Down
17 changes: 14 additions & 3 deletions config/features/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,8 @@ var E2EValidatorFlags = []string{
}

// BeaconChainFlags contains a list of all the feature flags that apply to the beacon-chain client.
var BeaconChainFlags = append(deprecatedBeaconFlags, append(deprecatedFlags, []cli.Flag{
// var BeaconChainFlags = append(deprecatedBeaconFlags, append(deprecatedFlags, []cli.Flag{
var BeaconChainFlags = combinedFlags([]cli.Flag{
devModeFlag,
disableExperimentalState,
writeSSZStateTransitionsFlag,
Expand All @@ -218,7 +219,6 @@ var BeaconChainFlags = append(deprecatedBeaconFlags, append(deprecatedFlags, []c
disablePeerScorer,
disableBroadcastSlashingFlag,
enableSlasherFlag,
enableHistoricalSpaceRepresentation,
disableStakinContractCheck,
SaveFullExecutionPayloads,
enableStartupOptimistic,
Expand All @@ -236,7 +236,18 @@ var BeaconChainFlags = append(deprecatedBeaconFlags, append(deprecatedFlags, []c
DisableCommitteeAwarePacking,
EnableDiscoveryReboot,
enableExperimentalAttestationPool,
}...)...)
}, deprecatedBeaconFlags, deprecatedFlags, upcomingDeprecation)

func combinedFlags(flags ...[]cli.Flag) []cli.Flag {
if len(flags) == 0 {
return []cli.Flag{}
}
collected := flags[0]
for _, f := range flags[1:] {
collected = append(collected, f...)
}
return collected
}

// E2EBeaconChainFlags contains a list of the beacon chain feature flags to be tested in E2E.
var E2EBeaconChainFlags = []string{
Expand Down

0 comments on commit fa5c297

Please sign in to comment.