]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Do not count notifies in record cache hits/misses
authorOtto <otto.moerbeek@open-xchange.com>
Tue, 16 Nov 2021 12:35:58 +0000 (13:35 +0100)
committerOtto <otto.moerbeek@open-xchange.com>
Tue, 16 Nov 2021 12:35:58 +0000 (13:35 +0100)
pdns/pdns_recursor.cc
regression-tests.recursor-dnssec/test_Notify.py

index f3ac0a08dc84491c69d44b327d21136b62dc1f3e..a0f81e59fda2a2f504c6638b7ff58b97a2756756 100644 (file)
@@ -2412,11 +2412,13 @@ static void startDoResolve(void *p)
       g_log<<endl;
     }
 
-    if (sr.d_outqueries || sr.d_authzonequeries) {
-      g_recCache->cacheMisses++;
-    }
-    else {
-      g_recCache->cacheHits++;
+    if (dc->d_mdp.d_header.opcode != Opcode::Notify) {
+      if (sr.d_outqueries || sr.d_authzonequeries) {
+        g_recCache->cacheMisses++;
+      }
+      else {
+        g_recCache->cacheHits++;
+      }
     }
 
     g_stats.answers(spentUsec);
index 4c2d82445b63b4f3917e23bcacbc9a7d6c5a56a4..6ff0ea346ff6b5ac1977fbd51a6d56fdfa082c47 100644 (file)
@@ -106,7 +106,7 @@ f 3600 IN CNAME f            ; CNAME loop: dirty trick to get a ServFail in an a
             print(res)
             self.assertEquals(res.question[0].to_text(), 'example. IN SOA')
 
-        self.checkRecordCacheMetrics(5, 1) # FIXME
+        self.checkRecordCacheMetrics(3, 1)
 
         for method in ("sendUDPQuery", "sendTCPQuery"):
             sender = getattr(self, method)
@@ -114,4 +114,4 @@ f 3600 IN CNAME f            ; CNAME loop: dirty trick to get a ServFail in an a
             self.assertRcodeEqual(res, dns.rcode.NOERROR)
             self.assertRRsetInAnswer(res, expected)
 
-        self.checkRecordCacheMetrics(6, 2)
+        self.checkRecordCacheMetrics(4, 2)