diff --git a/src/service/alert_rules.go b/src/service/alert_rules.go index 94e4ca54f267403b2a1dd8c66f54ca79e7669121..ba6d3f7e2404cff5725ac73c252958f251dd22b3 100644 --- a/src/service/alert_rules.go +++ b/src/service/alert_rules.go @@ -337,14 +337,15 @@ func (a *AlertRulesSvc) Delete(ids []string) (err error) { } if !exist { prSvc := PrometheusRuleSvc{User: a.User} - err = prSvc.Delete(response.AlertRulesItem{AlertRules: entity.AlertRules{Id: id}}) - if err != nil { - return + var has bool + _, has, err = prSvc.Get(response.AlertRulesItem{AlertRules: entity.AlertRules{Id: id}}) + if has { + err = prSvc.Delete(response.AlertRulesItem{AlertRules: entity.AlertRules{Id: id}}) + if err != nil { + return + } } _, err = db.NewSession().Where("id = ?", id).Delete(new(entity.AlertRules)) - if err != nil { - return - } } else { return errors.New("alert_rules_id already exists in opensearch") }