Found while timing #250: with 5% of outgoing packets dropped in a test container, TestQueryAllNameservers_AllReturnOK (internal/resolver/resolver_test.go) failed on next for ec2-3-80-0-1.compute-1.amazonaws.com. Nameserver ns-1390.awsdns-45.org. was reported nodata: its A query got no reply, while every other record type answered with no records. The test rejects nodata on purpose, because it means the name was asked at the wrong servers. Here the status itself is wrong, and it can turn next red in CI the way #251 did.
nodata says the nameserver has no records for the name. A nameserver whose A query got no usable reply has not said that: the A records it would have given are unknown. Since #231 such a type is listed in FailedTypes, but classifyResponse in internal/resolver/iterative.go still sets nodata when every type that answered was empty.
Definition of done:
A nameserver is reported nodata only when every record type got a usable reply and none had records. When a type failed and the others were empty, it gets the status that says what is known, the one README describes for a nameserver with a failed type, and its failed types stay listed so the watcher keeps their previous records.
TestQueryAllNameservers_AllReturnOK keeps rejecting nodata; it is not loosened.
A test on query results built in the test covers the case: one type failed, the rest empty, not nodata.
With 5% of outgoing packets dropped, eight runs of the suite pass. DNS is never mocked; no skip, no longer limit.
Model: opus-5-5
Found while timing https://git.eeqj.de/sneak/dnswatcher/pulls/250: with 5% of outgoing packets dropped in a test container, `TestQueryAllNameservers_AllReturnOK` (`internal/resolver/resolver_test.go`) failed on `next` for `ec2-3-80-0-1.compute-1.amazonaws.com`. Nameserver `ns-1390.awsdns-45.org.` was reported `nodata`: its A query got no reply, while every other record type answered with no records. The test rejects `nodata` on purpose, because it means the name was asked at the wrong servers. Here the status itself is wrong, and it can turn `next` red in CI the way https://git.eeqj.de/sneak/dnswatcher/issues/251 did.
`nodata` says the nameserver has no records for the name. A nameserver whose A query got no usable reply has not said that: the A records it would have given are unknown. Since https://git.eeqj.de/sneak/dnswatcher/issues/231 such a type is listed in `FailedTypes`, but `classifyResponse` in `internal/resolver/iterative.go` still sets `nodata` when every type that answered was empty.
Definition of done:
- A nameserver is reported `nodata` only when every record type got a usable reply and none had records. When a type failed and the others were empty, it gets the status that says what is known, the one README describes for a nameserver with a failed type, and its failed types stay listed so the watcher keeps their previous records.
- `TestQueryAllNameservers_AllReturnOK` keeps rejecting `nodata`; it is not loosened.
- A test on query results built in the test covers the case: one type failed, the rest empty, not `nodata`.
- With 5% of outgoing packets dropped, eight runs of the suite pass. DNS is never mocked; no skip, no longer limit.
Model: opus-5-5
clawbot
added this to the 1.0 milestone 2026-10-02 12:31:30 +02:00
clawbot
self-assigned this 2026-10-02 12:31:30 +02:00
Built in #254: nodata is set only when no record type's query failed; a nameserver with a failed type whose other answers were empty stays ok, its failed types listed.
Model: opus-5-5
Built in https://git.eeqj.de/sneak/dnswatcher/pulls/254: `nodata` is set only when no record type's query failed; a nameserver with a failed type whose other answers were empty stays `ok`, its failed types listed.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Found while timing #250: with 5% of outgoing packets dropped in a test container,
TestQueryAllNameservers_AllReturnOK(internal/resolver/resolver_test.go) failed onnextforec2-3-80-0-1.compute-1.amazonaws.com. Nameserverns-1390.awsdns-45.org.was reportednodata: its A query got no reply, while every other record type answered with no records. The test rejectsnodataon purpose, because it means the name was asked at the wrong servers. Here the status itself is wrong, and it can turnnextred in CI the way #251 did.nodatasays the nameserver has no records for the name. A nameserver whose A query got no usable reply has not said that: the A records it would have given are unknown. Since #231 such a type is listed inFailedTypes, butclassifyResponseininternal/resolver/iterative.gostill setsnodatawhen every type that answered was empty.Definition of done:
nodataonly when every record type got a usable reply and none had records. When a type failed and the others were empty, it gets the status that says what is known, the one README describes for a nameserver with a failed type, and its failed types stay listed so the watcher keeps their previous records.TestQueryAllNameservers_AllReturnOKkeeps rejectingnodata; it is not loosened.nodata.Model: opus-5-5
Built in #254:
nodatais set only when no record type's query failed; a nameserver with a failed type whose other answers were empty staysok, its failed types listed.Model: opus-5-5