Treat unreachable resolvers as unknown, not warnings
An unreachable resolver tells us nothing about propagation: it's neither a disagreement nor an error in the zone. Surface it as a distinct Unreachable state so it stops polluting warning counts and the Disagreeing/Errored buckets.
This commit is contained in:
parent
30cc586f34
commit
d4c44e879b
5 changed files with 28 additions and 17 deletions
|
|
@ -91,8 +91,8 @@ func (r *authoritativeMatchRule) Evaluate(ctx context.Context, obs sdk.Observati
|
|||
anyExpected = true
|
||||
switch {
|
||||
case v.ConsensusSig == "":
|
||||
states = append(states, critState("resolver_propagation.matches_authoritative.no_consensus", key,
|
||||
fmt.Sprintf("no public resolver returned a usable answer for %s (authoritative answer is known)", key)))
|
||||
states = append(states, unknownState("resolver_propagation.matches_authoritative.no_consensus", key,
|
||||
fmt.Sprintf("no public resolver returned a usable answer for %s (authoritative answer is known); resolvers unreachable from the checker", key)))
|
||||
case !v.MatchesExpected:
|
||||
states = append(states, critState(CodeAnswerDrift, key,
|
||||
fmt.Sprintf("consensus of public resolvers for %s differs from the authoritative answer, wait for TTL expiry or force a flush", key)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue