[doctor/master] Messages about unmesured relays weren't being effectively suppressed

commit 67ae3828256ae5ceb2184cbe53bdf9f6504be999 Author: Damian Johnson <atagar@torproject.org> Date: Sun Aug 31 16:30:48 2014 -0700 Messages about unmesured relays weren't being effectively suppressed We suppress messages based on their content but the notice about unmeasured relays have stats that change each hour. As a result they effectively weren't being suppressed causing a notice each hour. Adding a hack to clobber the dynamic data so our suppression string will work... As_a_bandwidth_authority_gabelmoo_lacked_a_measurement_for_0_of_0_relays_(0%) 1409527674 I'm not thrilled with this solution, but we can add generic handling when we have more than one message that needs it. --- consensus_health_checker.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/consensus_health_checker.py b/consensus_health_checker.py index 25a1143..e3cc7bf 100755 --- a/consensus_health_checker.py +++ b/consensus_health_checker.py @@ -178,7 +178,18 @@ def main(): is_all_suppressed = True # either no issues or they're all already suppressed for issue in issues: - key = issue.get_message().replace(' ', '_') + if issue._template == 'TOO_MANY_UNMEASURED_RELAYS': + # Hack because this message has too much dynamic data to be effectively + # suppressed. Hate doing this here, so better would be to make this a + # config property. + + attr = dict(issue._attr) + attr.update({'unmeasured': 0, 'total': 0, 'percentage': 0}) + + key = CONFIG['msg'][issue._template].format(**attr).replace(' ', '_') + else: + key = issue.get_message().replace(' ', '_') + duration = issue.get_suppression_duration() if rate_limit_notice(key, duration):
participants (1)
-
atagar@torproject.org