low attestations during epoch should instafail in CI; dbg -> warn level in `newPayload` log (#4830)
* low attestations during epoch should instafail in CI; dbg -> warn level on newPayload log * improve newPayload warning message when no valid EL connected * reduce potential spam; make log spelling more consistent; use fatal/quit
This commit is contained in:
parent
2246a6ec95
commit
d3400ca11b
|
@ -1962,12 +1962,15 @@ func init(T: type FullBlockId, blk: Eth1BlockHeader|BlockObject): T =
|
||||||
func isNewLastBlock(m: ELManager, blk: Eth1BlockHeader|BlockObject): bool =
|
func isNewLastBlock(m: ELManager, blk: Eth1BlockHeader|BlockObject): bool =
|
||||||
m.latestEth1Block.isNone or blk.number.uint64 > m.latestEth1BlockNumber
|
m.latestEth1Block.isNone or blk.number.uint64 > m.latestEth1BlockNumber
|
||||||
|
|
||||||
|
func hasConnection*(m: ELManager): bool =
|
||||||
|
m.elConnections.len > 0
|
||||||
|
|
||||||
func hasProperlyConfiguredConnection*(m: ELManager): bool =
|
func hasProperlyConfiguredConnection*(m: ELManager): bool =
|
||||||
for connection in m.elConnections:
|
for connection in m.elConnections:
|
||||||
if connection.etcStatus == EtcStatus.match:
|
if connection.etcStatus == EtcStatus.match:
|
||||||
return true
|
return true
|
||||||
|
|
||||||
return false
|
false
|
||||||
|
|
||||||
proc startExchangeTransitionConfigurationLoop(m: ELManager) {.async.} =
|
proc startExchangeTransitionConfigurationLoop(m: ELManager) {.async.} =
|
||||||
debug "Starting exchange transition configuration loop"
|
debug "Starting exchange transition configuration loop"
|
||||||
|
|
|
@ -218,7 +218,8 @@ from web3/engine_api_types import
|
||||||
PayloadAttributesV1, PayloadAttributesV2, PayloadExecutionStatus,
|
PayloadAttributesV1, PayloadAttributesV2, PayloadExecutionStatus,
|
||||||
PayloadStatusV1
|
PayloadStatusV1
|
||||||
from ../eth1/eth1_monitor import
|
from ../eth1/eth1_monitor import
|
||||||
ELManager, asEngineExecutionPayload, sendNewPayload, forkchoiceUpdated
|
ELManager, asEngineExecutionPayload, forkchoiceUpdated, hasConnection,
|
||||||
|
sendNewPayload
|
||||||
|
|
||||||
proc expectValidForkchoiceUpdated(
|
proc expectValidForkchoiceUpdated(
|
||||||
elManager: ELManager, headBlockPayloadAttributesType: typedesc,
|
elManager: ELManager, headBlockPayloadAttributesType: typedesc,
|
||||||
|
@ -283,7 +284,12 @@ proc newExecutionPayload*(
|
||||||
Future[Opt[PayloadExecutionStatus]] {.async.} =
|
Future[Opt[PayloadExecutionStatus]] {.async.} =
|
||||||
|
|
||||||
if not elManager.hasProperlyConfiguredConnection:
|
if not elManager.hasProperlyConfiguredConnection:
|
||||||
debug "No EL connection for newPayload"
|
if elManager.hasConnection:
|
||||||
|
info "No execution client connected; cannot process block payloads",
|
||||||
|
executionPayload = shortLog(executionPayload)
|
||||||
|
else:
|
||||||
|
debug "No execution client connected; cannot process block payloads",
|
||||||
|
executionPayload = shortLog(executionPayload)
|
||||||
return Opt.none PayloadExecutionStatus
|
return Opt.none PayloadExecutionStatus
|
||||||
|
|
||||||
debug "newPayload: inserting block into execution engine",
|
debug "newPayload: inserting block into execution engine",
|
||||||
|
|
|
@ -329,11 +329,12 @@ proc weigh_justification_and_finalization(
|
||||||
current_epoch = current_epoch,
|
current_epoch = current_epoch,
|
||||||
checkpoint = shortLog(state.current_justified_checkpoint)
|
checkpoint = shortLog(state.current_justified_checkpoint)
|
||||||
elif strictVerification in flags:
|
elif strictVerification in flags:
|
||||||
warn "Low attestation participation in previous epoch",
|
fatal "Low attestation participation in previous epoch",
|
||||||
total_active_balance,
|
total_active_balance,
|
||||||
previous_epoch_target_balance,
|
previous_epoch_target_balance,
|
||||||
current_epoch_target_balance,
|
current_epoch_target_balance,
|
||||||
epoch = get_current_epoch(state)
|
epoch = get_current_epoch(state)
|
||||||
|
quit 1
|
||||||
|
|
||||||
if current_epoch_target_balance * 3 >= total_active_balance * 2:
|
if current_epoch_target_balance * 3 >= total_active_balance * 2:
|
||||||
state.current_justified_checkpoint =
|
state.current_justified_checkpoint =
|
||||||
|
|
|
@ -236,7 +236,7 @@ proc createAndSendAttestation(node: BeaconNode,
|
||||||
fork, genesis_validators_root, data)
|
fork, genesis_validators_root, data)
|
||||||
if res.isErr():
|
if res.isErr():
|
||||||
warn "Unable to sign attestation", validator = shortLog(validator),
|
warn "Unable to sign attestation", validator = shortLog(validator),
|
||||||
attestatingData = shortLog(data), error_msg = res.error()
|
attestationData = shortLog(data), error_msg = res.error()
|
||||||
return
|
return
|
||||||
res.get()
|
res.get()
|
||||||
attestation =
|
attestation =
|
||||||
|
|
Loading…
Reference in New Issue