From 35e6d97dae83bfa346f15f1c631c20815819f853 Mon Sep 17 00:00:00 2001 From: olegshmuelov <45327364+olegshmuelov@users.noreply.github.com> Date: Mon, 17 Feb 2025 16:41:29 +0200 Subject: [PATCH] reduce detection epochs after validator no longer live --- doppelganger/doppelganger.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doppelganger/doppelganger.go b/doppelganger/doppelganger.go index 1ac8c1754d..0d992bb53f 100644 --- a/doppelganger/doppelganger.go +++ b/doppelganger/doppelganger.go @@ -233,11 +233,15 @@ func (ds *doppelgangerHandler) processLivenessData(epoch phase0.Epoch, livenessD continue } + // If the validator was previously marked as permanently unsafe (detected as live elsewhere), + // but is now considered inactive, we reset the detection period to be safer. + // Since we just checked for liveness now, we reduce the default detection period by 1 + // to ensure it gets checked once again in the next epoch before being marked safe. if state.remainingEpochs == PermanentlyUnsafe { - ds.logger.Debug("Validator is no longer live, resetting to default detection epochs", + state.remainingEpochs = DefaultRemainingDetectionEpochs - 1 + ds.logger.Debug("Validator is no longer live but requires further checks", fields.ValidatorIndex(response.Index), - ) - state.remainingEpochs = DefaultRemainingDetectionEpochs + zap.Uint64("remaining_epochs", state.remainingEpochs)) continue }