From 04d47a93f95c0afde297d421f60d8554adfb90b8 Mon Sep 17 00:00:00 2001 From: Chao Chen Date: Fri, 12 Nov 2021 14:17:14 -0800 Subject: [PATCH] backport from #13467 exclude the same alarm type activated by multiple peers --- etcdserver/api/etcdhttp/metrics.go | 7 +------ etcdserver/api/etcdhttp/metrics_test.go | 6 ++++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/etcdserver/api/etcdhttp/metrics.go b/etcdserver/api/etcdhttp/metrics.go index ef3d9544e..e5c062e43 100644 --- a/etcdserver/api/etcdhttp/metrics.go +++ b/etcdserver/api/etcdhttp/metrics.go @@ -117,8 +117,7 @@ func checkHealth(srv etcdserver.ServerV2, excludedAlarms AlarmSet) Health { for _, v := range as { alarmName := v.Alarm.String() if _, found := excludedAlarms[alarmName]; found { - plog.Debugf("/health excluded alarm %s", alarmName) - delete(excludedAlarms, alarmName) + plog.Debugf("/health excluded alarm %s", v.String()) continue } h.Health = "false" @@ -127,10 +126,6 @@ func checkHealth(srv etcdserver.ServerV2, excludedAlarms AlarmSet) Health { } } - if len(excludedAlarms) > 0 { - plog.Warningf("fail exclude alarms from health check, exclude alarms %+v", excludedAlarms) - } - if h.Health == "true" { if uint64(srv.Leader()) == raft.None { h.Health = "false" diff --git a/etcdserver/api/etcdhttp/metrics_test.go b/etcdserver/api/etcdhttp/metrics_test.go index b24fec115..3468d9fd6 100644 --- a/etcdserver/api/etcdhttp/metrics_test.go +++ b/etcdserver/api/etcdhttp/metrics_test.go @@ -91,6 +91,12 @@ func TestHealthHandler(t *testing.T) { http.StatusOK, "true", }, + { + []*pb.AlarmMember{{MemberID: uint64(1), Alarm: pb.AlarmType_NOSPACE}, {MemberID: uint64(2), Alarm: pb.AlarmType_NOSPACE}, {MemberID: uint64(3), Alarm: pb.AlarmType_NOSPACE}}, + "/health?exclude=NOSPACE", + http.StatusOK, + "true", + }, { []*pb.AlarmMember{{MemberID: uint64(0), Alarm: pb.AlarmType_NOSPACE}, {MemberID: uint64(1), Alarm: pb.AlarmType_CORRUPT}}, "/health?exclude=NOSPACE",