diff --git a/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_bellatrix.go b/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_bellatrix.go index 21e87635c..f964dfac6 100644 --- a/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_bellatrix.go +++ b/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_bellatrix.go @@ -317,16 +317,16 @@ func (vs *Server) circuitBreakBuilder(s types.Slot) (bool, error) { // Circuit breaker is active if the missing consecutive slots greater than `MaxBuilderConsecutiveMissedSlots`. highestReceivedSlot := vs.ForkFetcher.ForkChoicer().HighestReceivedBlockSlot() - fallbackSlots := params.BeaconConfig().MaxBuilderConsecutiveMissedSlots + maxConsecutiveSkipSlotsAllowed := params.BeaconConfig().MaxBuilderConsecutiveMissedSlots diff, err := s.SafeSubSlot(highestReceivedSlot) if err != nil { return true, err } - if diff > fallbackSlots { + if diff > maxConsecutiveSkipSlotsAllowed { log.WithFields(logrus.Fields{ - "currentSlot": s, - "highestReceivedSlot": highestReceivedSlot, - "fallBackSkipSlots": fallbackSlots, + "currentSlot": s, + "highestReceivedSlot": highestReceivedSlot, + "maxConsecutiveSkipSlotsAllowed": maxConsecutiveSkipSlotsAllowed, }).Warn("Builder circuit breaker activated due to missing consecutive slot") return true, nil } @@ -341,15 +341,15 @@ func (vs *Server) circuitBreakBuilder(s types.Slot) (bool, error) { if err != nil { return true, err } - fallbackSlotsLastEpoch := params.BeaconConfig().MaxBuilderEpochMissedSlots + maxEpochSkipSlotsAllowed := params.BeaconConfig().MaxBuilderEpochMissedSlots diff, err = params.BeaconConfig().SlotsPerEpoch.SafeSub(receivedCount) if err != nil { return true, err } - if diff > fallbackSlotsLastEpoch { + if diff > maxEpochSkipSlotsAllowed { log.WithFields(logrus.Fields{ - "totalMissed": receivedCount, - "fallBackSkipSlotsLastEpoch": fallbackSlotsLastEpoch, + "totalMissed": diff, + "maxEpochSkipSlotsAllowed": maxEpochSkipSlotsAllowed, }).Warn("Builder circuit breaker activated due to missing enough slots last epoch") return true, nil } diff --git a/cmd/beacon-chain/main.go b/cmd/beacon-chain/main.go index a67530431..9681e88e9 100644 --- a/cmd/beacon-chain/main.go +++ b/cmd/beacon-chain/main.go @@ -72,6 +72,8 @@ var appFlags = []cli.Flag{ flags.TerminalBlockHashOverride, flags.TerminalBlockHashActivationEpochOverride, flags.MevRelayEndpoint, + flags.MaxBuilderEpochMissedSlots, + flags.MaxBuilderConsecutiveMissedSlots, cmd.EnableBackupWebhookFlag, cmd.BackupWebhookOutputDir, cmd.MinimalConfigFlag, diff --git a/cmd/beacon-chain/usage.go b/cmd/beacon-chain/usage.go index f247e9534..51b0f9395 100644 --- a/cmd/beacon-chain/usage.go +++ b/cmd/beacon-chain/usage.go @@ -124,6 +124,8 @@ var appHelpFlagGroups = []flagGroup{ flags.Eth1HeaderReqLimit, flags.MinPeersPerSubnet, flags.MevRelayEndpoint, + flags.MaxBuilderEpochMissedSlots, + flags.MaxBuilderConsecutiveMissedSlots, checkpoint.BlockPath, checkpoint.StatePath, checkpoint.RemoteURL, diff --git a/config/params/mainnet_config.go b/config/params/mainnet_config.go index 9e6672c4e..c86390d78 100644 --- a/config/params/mainnet_config.go +++ b/config/params/mainnet_config.go @@ -253,8 +253,8 @@ var mainnetBeaconConfig = &BeaconChainConfig{ DefaultBuilderGasLimit: uint64(30000000), // Mevboost circuit breaker - MaxBuilderConsecutiveMissedSlots: 4, - MaxBuilderEpochMissedSlots: 6, + MaxBuilderConsecutiveMissedSlots: 3, + MaxBuilderEpochMissedSlots: 8, } // MainnetTestConfig provides a version of the mainnet config that has a different name