[tor-commits] [tor/main] dns: Do not trigger overload general on DNS timeout

dgoulet at torproject.org dgoulet at torproject.org
Mon Feb 14 18:57:58 UTC 2022


commit ea48ddc9552ecfc73d3b2186c05ee15cd7cc361d
Author: David Goulet <dgoulet at torproject.org>
Date:   Mon Feb 14 13:20:53 2022 -0500

    dns: Do not trigger overload general on DNS timeout
    
    This was missed in #40527 when the DNS timeout overload general signal
    was removed.
    
    Closes #40564
    
    Signed-off-by: David Goulet <dgoulet at torproject.org>
---
 changes/ticket40564     |  4 ++++
 src/feature/relay/dns.c | 10 ----------
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/changes/ticket40564 b/changes/ticket40564
new file mode 100644
index 0000000000..2f805bdef5
--- /dev/null
+++ b/changes/ticket40564
@@ -0,0 +1,4 @@
+  o Major bugfixes (relay, overload):
+    - Do not trigger a general overload on DNS timeout. Even after fixing
+      40527, some code remained that triggered the overload. Fixes bug 40564;
+      bugfix on 0.4.7.1-alpha.
diff --git a/src/feature/relay/dns.c b/src/feature/relay/dns.c
index c6e0439338..180f2cbdd1 100644
--- a/src/feature/relay/dns.c
+++ b/src/feature/relay/dns.c
@@ -1539,16 +1539,6 @@ evdns_callback(int result, char type, int count, int ttl, void *addresses,
 
   tor_addr_make_unspec(&addr);
 
-  /* Note down any DNS errors to the statistics module */
-  if (result == DNS_ERR_TIMEOUT) {
-    /* libevent timed out while resolving a name. However, because libevent
-     * handles retries and timeouts internally, this means that all attempts of
-     * libevent timed out. If we wanted to get more granular information about
-     * individual libevent attempts, we would have to implement our own DNS
-     * timeout/retry logic */
-    rep_hist_note_overload(OVERLOAD_GENERAL);
-  }
-
   /* Keep track of whether IPv6 is working */
   if (type == DNS_IPv6_AAAA) {
     if (result == DNS_ERR_TIMEOUT) {



More information about the tor-commits mailing list