From 1fd64aa8dc68d7efb3fcd3859d3508f62280c6d8 Mon Sep 17 00:00:00 2001 From: Spetrum <11692994+Septrum101@users.noreply.github.com> Date: Wed, 10 Jun 2026 11:36:45 +0800 Subject: [PATCH] Prevent caching of responses resolved via fallback --- proxy/optimisticresolver.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/proxy/optimisticresolver.go b/proxy/optimisticresolver.go index 011ade64d..c4a4138c2 100644 --- a/proxy/optimisticresolver.go +++ b/proxy/optimisticresolver.go @@ -62,7 +62,11 @@ func (s *optimisticResolver) resolveOnce(dctx *DNSContext, key []byte, l *slog.L l.Debug("resolving request for optimistic cache", slogutil.KeyError, err) } - if ok { + if ok && !resolvedByFallback(dctx) { s.cr.cacheResp(dctx) } } + +func resolvedByFallback(dctx *DNSContext) (ok bool) { + return dctx.queryStatistics != nil && len(dctx.queryStatistics.Fallback()) > 0 +}