diff --git a/disperser/cmd/dataapi/flags/flags.go b/disperser/cmd/dataapi/flags/flags.go index 3da4100084..8a427ff8c4 100644 --- a/disperser/cmd/dataapi/flags/flags.go +++ b/disperser/cmd/dataapi/flags/flags.go @@ -148,7 +148,7 @@ var ( } NonsigningRateThresholdFlag = cli.IntFlag{ Name: common.PrefixFlag(FlagPrefix, "nonsigning-rate-threshold"), - Usage: "only operators with nonsigning rate >= this threshold will be ejected, this value must be in range [10, 100], any value not in this range means disabling this flag", + Usage: "only operators with nonsigning rate >= this threshold are eligible for ejection, this value must be in range [10, 100], any value not in this range means disabling this flag", Required: false, Value: -1, EnvVar: common.PrefixEnvVar(envVarPrefix, "NONSIGNING_RATE_THRESHOLD"), diff --git a/disperser/dataapi/ejector.go b/disperser/dataapi/ejector.go index 9df244b855..076b2ef88e 100644 --- a/disperser/dataapi/ejector.go +++ b/disperser/dataapi/ejector.go @@ -86,7 +86,7 @@ func (e *Ejector) Eject(ctx context.Context, nonsigningRate *OperatorsNonsigning for _, metric := range nonsigningRate.Data { // If nonsigningRateThreshold is set and valid, we will only eject operators with // nonsigning rate >= nonsigningRateThreshold. - if e.nonsigningRateThreshold >= 10 && e.nonsigningRateThreshold <= 100 && metric.Percentage >= float64(e.nonsigningRateThreshold) { + if e.nonsigningRateThreshold >= 10 && e.nonsigningRateThreshold <= 100 && metric.Percentage < float64(e.nonsigningRateThreshold) { continue } // Collect only the nonsigners who violate the SLA.