From 0438651474d5d4a7d1876c9da28afd56f488bc7a Mon Sep 17 00:00:00 2001 From: liugq Date: Wed, 25 May 2022 12:58:04 +0800 Subject: [PATCH] update alerting ignore api --- plugin/api/alerting/message.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plugin/api/alerting/message.go b/plugin/api/alerting/message.go index 69b0f0d4..fb57fe0b 100644 --- a/plugin/api/alerting/message.go +++ b/plugin/api/alerting/message.go @@ -67,9 +67,17 @@ func (h *AlertAPI) ignoreAlertMessage(w http.ResponseWriter, req *http.Request, log.Error(err) return } - //delete kv cache + //update kv cache for _, msg := range body.Messages { - _ = kv.DeleteKey(alerting2.KVLastMessageState, []byte(msg.RuleID)) + stateBytes, err := kv.GetValue(alerting2.KVLastMessageState, []byte(msg.RuleID)) + if err != nil && stateBytes != nil { + message := &alerting.AlertMessage{} + util.MustFromJSONBytes(stateBytes, message) + if message.Status == alerting.MessageStateAlerting { + message.Status = alerting.MessageStateIgnored + } + kv.AddValue(alerting2.KVLastMessageState, []byte(msg.RuleID), util.MustToJSONBytes(message)) + } }