From dc33e09b241bdb824fe767a2f19be04e2b94d379 Mon Sep 17 00:00:00 2001 From: Yuriy Tseretyan Date: Wed, 11 May 2022 09:44:31 -0400 Subject: [PATCH] simplify getting a slice of keys (#48889) --- pkg/services/ngalert/schedule/schedule.go | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/pkg/services/ngalert/schedule/schedule.go b/pkg/services/ngalert/schedule/schedule.go index 04ab92e7aff..23e0c97e61c 100644 --- a/pkg/services/ngalert/schedule/schedule.go +++ b/pkg/services/ngalert/schedule/schedule.go @@ -700,26 +700,11 @@ func (r *alertRuleRegistry) del(key models.AlertRuleKey) (*alertRuleInfo, bool) return info, ok } -func (r *alertRuleRegistry) iter() <-chan models.AlertRuleKey { - c := make(chan models.AlertRuleKey) - - f := func() { - r.mu.Lock() - defer r.mu.Unlock() - - for k := range r.alertRuleInfo { - c <- k - } - close(c) - } - go f() - - return c -} - func (r *alertRuleRegistry) keyMap() map[models.AlertRuleKey]struct{} { - definitionsIDs := make(map[models.AlertRuleKey]struct{}) - for k := range r.iter() { + r.mu.Lock() + defer r.mu.Unlock() + definitionsIDs := make(map[models.AlertRuleKey]struct{}, len(r.alertRuleInfo)) + for k := range r.alertRuleInfo { definitionsIDs[k] = struct{}{} } return definitionsIDs