mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-08 21:08:10 -05:00
attempting to add some more flakey tolarance
This commit is contained in:
@@ -117,7 +117,10 @@ func metricsTest(_ *types.EvaluationContext, conns ...*grpc.ClientConn) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
timeSlot := slots.CurrentSlot(genesisResp.GenesisTime.AsTime())
|
timeSlot := slots.CurrentSlot(genesisResp.GenesisTime.AsTime())
|
||||||
if uint64(chainHead.HeadSlot) != uint64(timeSlot) {
|
// Allow 1 slot tolerance due to race between calculating current slot
|
||||||
|
// and fetching chain head - a slot boundary may occur between these calls.
|
||||||
|
slotDiff := int64(timeSlot) - int64(chainHead.HeadSlot)
|
||||||
|
if slotDiff < 0 || slotDiff > 1 {
|
||||||
return fmt.Errorf("expected metrics slot to equal chain head slot, expected %d, received %d", timeSlot, chainHead.HeadSlot)
|
return fmt.Errorf("expected metrics slot to equal chain head slot, expected %d, received %d", timeSlot, chainHead.HeadSlot)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import (
|
|||||||
"google.golang.org/protobuf/types/known/emptypb"
|
"google.golang.org/protobuf/types/known/emptypb"
|
||||||
)
|
)
|
||||||
|
|
||||||
var expectedParticipation = 0.99
|
var expectedParticipation = 0.98
|
||||||
|
|
||||||
var expectedMulticlientParticipation = 0.95
|
var expectedMulticlientParticipation = 0.95
|
||||||
|
|
||||||
@@ -310,20 +310,30 @@ func validatorsSyncParticipation(_ *types.EvaluationContext, conns ...*grpc.Clie
|
|||||||
if b == nil || b.IsNil() {
|
if b == nil || b.IsNil() {
|
||||||
return errors.New("nil block provided")
|
return errors.New("nil block provided")
|
||||||
}
|
}
|
||||||
forkSlot, err := slots.EpochStart(params.BeaconConfig().AltairForkEpoch)
|
// Skip evaluation of fork transition slots as sync participation
|
||||||
|
// tends to drop briefly when transitioning between forks.
|
||||||
|
forkEpochs := []primitives.Epoch{
|
||||||
|
params.BeaconConfig().AltairForkEpoch,
|
||||||
|
params.BeaconConfig().BellatrixForkEpoch,
|
||||||
|
params.BeaconConfig().CapellaForkEpoch,
|
||||||
|
params.BeaconConfig().DenebForkEpoch,
|
||||||
|
params.BeaconConfig().ElectraForkEpoch,
|
||||||
|
params.BeaconConfig().FuluForkEpoch,
|
||||||
|
}
|
||||||
|
skipSlot := false
|
||||||
|
for _, forkEpoch := range forkEpochs {
|
||||||
|
forkSlot, err := slots.EpochStart(forkEpoch)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
nexForkSlot, err := slots.EpochStart(params.BeaconConfig().BellatrixForkEpoch)
|
// Skip the first two slots of each fork epoch.
|
||||||
if err != nil {
|
if b.Block().Slot() == forkSlot || b.Block().Slot() == forkSlot+1 {
|
||||||
return err
|
skipSlot = true
|
||||||
|
break
|
||||||
}
|
}
|
||||||
switch b.Block().Slot() {
|
}
|
||||||
case forkSlot, forkSlot + 1, nexForkSlot:
|
if skipSlot {
|
||||||
// Skip evaluation of the slot.
|
|
||||||
continue
|
continue
|
||||||
default:
|
|
||||||
// no-op
|
|
||||||
}
|
}
|
||||||
syncAgg, err := b.Block().Body().SyncAggregate()
|
syncAgg, err := b.Block().Body().SyncAggregate()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user