mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 21:38:05 -05:00
Disable caches, allow toggle via feature flag (#3107)
This commit is contained in:
committed by
terence tsao
parent
68f29967f3
commit
63cf0f07a2
@@ -27,9 +27,17 @@ var log = logrus.WithField("prefix", "flags")
|
||||
type FeatureFlagConfig struct {
|
||||
DisableHistoricalStatePruning bool // DisableHistoricalStatePruning when updating finalized states.
|
||||
DisableGossipSub bool // DisableGossipSub in p2p messaging.
|
||||
EnableCommitteesCache bool // EnableCommitteesCache for state transition.
|
||||
EnableExcessDeposits bool // EnableExcessDeposits in validator balances.
|
||||
NoGenesisDelay bool // NoGenesisDelay when processing a chain start genesis event.
|
||||
|
||||
// Cache toggles.
|
||||
EnableActiveBalanceCache bool // EnableActiveBalanceCache; see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableAttestationCache bool // EnableAttestationCache; see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableAncestorBlockCache bool // EnableAncestorBlockCache; see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableEth1DataVoteCache bool // EnableEth1DataVoteCache; see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableSeedCache bool // EnableSeedCache; see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableStartShardCache bool // EnableStartShardCache; see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableTotalBalanceCache bool // EnableTotalBalanceCache; see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
}
|
||||
|
||||
var featureConfig *FeatureFlagConfig
|
||||
@@ -63,6 +71,34 @@ func ConfigureBeaconFeatures(ctx *cli.Context) {
|
||||
log.Warn("Using non standard genesis delay. This may cause problems in a multi-node environment.")
|
||||
cfg.NoGenesisDelay = true
|
||||
}
|
||||
if ctx.GlobalBool(EnableActiveBalanceCacheFlag.Name) {
|
||||
log.Warn("Enabled unsafe active balance cache")
|
||||
cfg.EnableActiveBalanceCache = true
|
||||
}
|
||||
if ctx.GlobalBool(EnableAttestationCacheFlag.Name) {
|
||||
log.Warn("Enabled unsafe attestation cache")
|
||||
cfg.EnableAttestationCache = true
|
||||
}
|
||||
if ctx.GlobalBool(EnableAncestorBlockCacheFlag.Name) {
|
||||
log.Warn("Enabled unsafe ancestor block cache")
|
||||
cfg.EnableAncestorBlockCache = true
|
||||
}
|
||||
if ctx.GlobalBool(EnableEth1DataVoteCacheFlag.Name) {
|
||||
log.Warn("Enabled unsafe eth1 data vote cache")
|
||||
cfg.EnableEth1DataVoteCache = true
|
||||
}
|
||||
if ctx.GlobalBool(EnableSeedCacheFlag.Name) {
|
||||
log.Warn("Enabled unsafe seed cache")
|
||||
cfg.EnableSeedCache = true
|
||||
}
|
||||
if ctx.GlobalBool(EnableStartShardCacheFlag.Name) {
|
||||
log.Warn("Enabled unsafe start shard cache")
|
||||
cfg.EnableStartShardCache = true
|
||||
}
|
||||
if ctx.GlobalBool(EnableTotalBalanceCacheFlag.Name) {
|
||||
log.Warn("Enabled unsafe total balance cache")
|
||||
cfg.EnableTotalBalanceCache = true
|
||||
}
|
||||
InitFeatureConfig(cfg)
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,41 @@ var (
|
||||
Name: "no-genesis-delay",
|
||||
Usage: "Process genesis event 30s after the ETH1 block time, rather than wait to midnight of the next day.",
|
||||
}
|
||||
// EnableActiveBalanceCacheFlag see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableActiveBalanceCacheFlag = cli.BoolFlag{
|
||||
Name: "enable-active-balance-cache",
|
||||
Usage: "Enable unsafe cache mechanism. See https://github.com/prysmaticlabs/prysm/issues/3106",
|
||||
}
|
||||
// EnableAttestationCacheFlag see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableAttestationCacheFlag = cli.BoolFlag{
|
||||
Name: "enable-attestation-cache",
|
||||
Usage: "Enable unsafe cache mechanism. See https://github.com/prysmaticlabs/prysm/issues/3106",
|
||||
}
|
||||
// EnableAncestorBlockCacheFlag see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableAncestorBlockCacheFlag = cli.BoolFlag{
|
||||
Name: "enable-ancestor-block-cache",
|
||||
Usage: "Enable unsafe cache mechanism. See https://github.com/prysmaticlabs/prysm/issues/3106",
|
||||
}
|
||||
// EnableEth1DataVoteCacheFlag see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableEth1DataVoteCacheFlag = cli.BoolFlag{
|
||||
Name: "enable-eth1-data-vote-cache",
|
||||
Usage: "Enable unsafe cache mechanism. See https://github.com/prysmaticlabs/prysm/issues/3106",
|
||||
}
|
||||
// EnableSeedCacheFlag see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableSeedCacheFlag = cli.BoolFlag{
|
||||
Name: "enable-seed-cache",
|
||||
Usage: "Enable unsafe cache mechanism. See https://github.com/prysmaticlabs/prysm/issues/3106",
|
||||
}
|
||||
// EnableStartShardCacheFlag see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableStartShardCacheFlag = cli.BoolFlag{
|
||||
Name: "enable-start-shard-cache",
|
||||
Usage: "Enable unsafe cache mechanism. See https://github.com/prysmaticlabs/prysm/issues/3106",
|
||||
}
|
||||
// EnableTotalBalanceCacheFlag see https://github.com/prysmaticlabs/prysm/issues/3106.
|
||||
EnableTotalBalanceCacheFlag = cli.BoolFlag{
|
||||
Name: "enable-total-balance-cache",
|
||||
Usage: "Enable unsafe cache mechanism. See https://github.com/prysmaticlabs/prysm/issues/3106",
|
||||
}
|
||||
)
|
||||
|
||||
// ValidatorFlags contains a list of all the feature flags that apply to the validator client.
|
||||
@@ -43,4 +78,11 @@ var BeaconChainFlags = []cli.Flag{
|
||||
DisableGossipSubFlag,
|
||||
EnableExcessDepositsFlag,
|
||||
NoGenesisDelayFlag,
|
||||
EnableActiveBalanceCacheFlag,
|
||||
EnableAttestationCacheFlag,
|
||||
EnableAncestorBlockCacheFlag,
|
||||
EnableEth1DataVoteCacheFlag,
|
||||
EnableSeedCacheFlag,
|
||||
EnableStartShardCacheFlag,
|
||||
EnableTotalBalanceCacheFlag,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user