diff --git a/src/validator.zig b/src/validator.zig index 606f266..ab73ef0 100644 --- a/src/validator.zig +++ b/src/validator.zig @@ -578,17 +578,15 @@ pub const Validator = struct { var resolver = &self.host_resolvers[idx]; - // first resolve attempt - var doc = resolver.resolve(parsed) catch |err1| { + // first resolve attempt. the first-attempt error is not captured: + // resolver.resolve upstream collapses everything into + // DidResolutionFailed, so both attempts produce the same error kind + // here and only the second one is worth logging. + var doc = resolver.resolve(parsed) catch { // retry once on network failure - var doc2 = resolver.resolve(parsed) catch |err2| { + var doc2 = resolver.resolve(parsed) catch |err| { _ = self.stats.host_authority_reject_resolve.fetchAdd(1, .monotonic); - // log the second-attempt error kind — first-attempt kind is - // dropped because resolver.resolve already swallows it into - // DidResolutionFailed upstream, so both errors look the same - // here. detail field captures @errorName for upstream triage. - self.sampleLogReject("resolve", did, @errorName(err2), incoming_host_id, 0); - _ = err1; + self.sampleLogReject("resolve", did, @errorName(err), incoming_host_id, 0); return .reject; }; defer doc2.deinit();