Parcourir la source

Make control_event_bootstrap_problem always INFO when hibernating

When we're hibernating, the main reqason we can't bootstrap will
always be that we're hibernating: reporting anything else at severity
WARN is pointless.

Fixes part of 7302.
Nick Mathewson il y a 11 ans
Parent
commit
805ecb8719
2 fichiers modifiés avec 10 ajouts et 1 suppressions
  1. 7 1
      changes/bug7302
  2. 3 0
      src/or/control.c

+ 7 - 1
changes/bug7302

@@ -2,4 +2,10 @@
     - Don't log inappropriate heartbeat messages when hibernating: a
       hibernating node is _expected_ to drop out of the consensus,
       decide it isn't bootstrapped, and so forth.  Fixes part of bug
-      #7302; bugfix on 0.2.3.1-alpha.
+      7302; bugfix on 0.2.3.1-alpha.
+
+    - Don't complain about bootstrapping problems while hibernating.
+      These complaints reflect a general code problems, but not one
+      with any problematic effects. (No connections are actually
+      opened.) Fixes part of bug 7302; bugfix on 0.2.3.2-alpha.
+

+ 3 - 0
src/or/control.c

@@ -4717,6 +4717,9 @@ control_event_bootstrap_problem(const char *warn, int reason)
       !any_pending_bridge_descriptor_fetches())
     recommendation = "warn";
 
+  if (we_are_hibernating())
+    recommendation = "ignore";
+
   while (status>=0 && bootstrap_status_to_string(status, &tag, &summary) < 0)
     status--; /* find a recognized status string based on current progress */
   status = bootstrap_percent; /* set status back to the actual number */