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:
nemunaire 2026-05-25 16:21:41 +08:00
commit d4c44e879b
5 changed files with 28 additions and 17 deletions

View file

@ -326,8 +326,11 @@ func TestResolverLatencyRule(t *testing.T) {
if _, ok := codes[CodeResolverHighLatency]; !ok {
t.Errorf("want high latency for 'slow', got %+v", st)
}
if _, ok := codes[CodeResolverUnreachable]; !ok {
unreach, ok := codes[CodeResolverUnreachable]
if !ok {
t.Errorf("want unreachable for 'absent', got %+v", st)
} else if unreach[0].Status != sdk.StatusUnknown {
t.Errorf("unreachable should be unknown (not a warning), got status %v", unreach[0].Status)
}
}