server/etcdserver/api/etcdhttp: exclude the same alarm type activated by multiple peers

This commit is contained in:
Chao Chen
2021-11-09 10:17:11 -08:00
parent e8732fb5f3
commit 7d44a7cd6e
2 changed files with 7 additions and 6 deletions

View File

@ -138,8 +138,7 @@ func checkHealth(lg *zap.Logger, srv etcdserver.ServerV2, excludedAlarms AlarmSe
for _, v := range as { for _, v := range as {
alarmName := v.Alarm.String() alarmName := v.Alarm.String()
if _, found := excludedAlarms[alarmName]; found { if _, found := excludedAlarms[alarmName]; found {
lg.Debug("/health excluded alarm", zap.String("alarm", alarmName)) lg.Debug("/health excluded alarm", zap.String("alarm", v.String()))
delete(excludedAlarms, alarmName)
continue continue
} }
@ -157,10 +156,6 @@ func checkHealth(lg *zap.Logger, srv etcdserver.ServerV2, excludedAlarms AlarmSe
} }
} }
if len(excludedAlarms) > 0 {
lg.Warn("fail exclude alarms from health check", zap.String("exclude alarms", fmt.Sprintf("%+v", excludedAlarms)))
}
if uint64(srv.Leader()) == raft.None { if uint64(srv.Leader()) == raft.None {
h.Health = "false" h.Health = "false"
h.Reason = "RAFT NO LEADER" h.Reason = "RAFT NO LEADER"

View File

@ -78,6 +78,12 @@ func TestHealthHandler(t *testing.T) {
http.StatusOK, http.StatusOK,
"true", "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}}, []*pb.AlarmMember{{MemberID: uint64(0), Alarm: pb.AlarmType_NOSPACE}, {MemberID: uint64(1), Alarm: pb.AlarmType_CORRUPT}},
"/health?exclude=NOSPACE", "/health?exclude=NOSPACE",